It actually looks pretty good to me. I have a listing of toddler portions which I copied down way back when I was concerned about how much my DS ate, the thing to remember with the portions is that toddlers comes a long time, and what a 1yo eats is not the same as a 2yo or a 3yo.
I've just worked out the servings and balance of what you listed and it honestly doesn’t look worrying to me.
I will say that the morning snack matters, when they don't eat a huge amount then every mouthful counts and based on what your LO ate in that day, if it was me, I wouldn't give fruit puree or yoghurt for the morning snack I would make it a veg or carbs snack (maybe combine the two with a sweet potato mini muffin or something like that). Some LOs (like mine) do love their fruit and I'm afraid rationing it was the only way I found to ensure the diet is totally balanced.
On the day you gave as example if the snack had been a grains snack he would have fulfilled his portion need in that day.
If you offer an afternoon snack (you say sometimes some puree depending on how lunch went) of veg his veg portions would also be fulfilled. I found with mine I really had to be strict with measuring fruit for a while to ensure he took the veg. He likes veg but given the option it's usually fruit he'll go for.
Quick run down then:
Milk needs 4 servings (1/2 cup milk is 1 serve) so this is fulfilled by 2 bottles of formula. That's why I say yoghurt as a snack isn't needed, it would be better to offer grains/veg. Or better yet, drop one bottle and offer the yoghurt.
Grains needs 6 servings (1/2 slice bread is 1 serve) he had 3 servings in your example plus if the morning snack had been 4oz grains this would bring it up to 7 servings, more than needed
Fruit needs 2 servings (1/4 of a fruit is 1 serve) he had 2 tblspoons twice, fulfilled. That why I suggest not giving any more fruit mid morning or mid afternoon.
Veg needs 2 servings (1 to 2 tblspoons is 1 serve, at this age I would say 1 tablespoon is fine). He ate perhaps 1 tbl sp of veg plus some tom sauce. So a little low on the veg portions for the day. If he took extra on another day this wouldn't matter, look across a week rather than a day, but this is why I recommend the morning snack being grains or veg and no extra fruit so increase this food group.
Protein needs 2 servings (1 to 2 table sp of meat, fish, poultry or beans. Again at this age 1 tbl spoon is fine) he had half an egg and almost a piece of deli meat, fulfilled.
Even at almost 2.5 I only look to get my DS to eat one egg or one sausage or one fish finger or a couple of spoons of beans per day. He might eat 1.5 or even 2 fish fingers at times if he is very hungry, other days he goes protein free so it's a balance.
I don't really see how it's a behaviour thing tbh, maybe he is just full? LOs don't generally let themselves go hungry. I think you'd only need make a minor change to what you usually offer across the day to make his diet perfect and I'm sure there are not many babies with a perfect diet.