My DS1 is 12, 159 cm tall and 48 kg and he looks normal, not skinny nor thin.
Something I often read is people saying they have a healthy diet just because they cook from scratch. I do too and I can guarantee my homemade lasagne has thousands of calories, ditto my pizza, my apple pie, etc....
Healthy is something totally different. A minestrone, shell fishm a chicken breast, a boiled egg, a tomato salad, ... meat or fish without sauces, salad or veg with olive oil and not a bottled dressing or fatty gravy. You mention tomato soup, the canned Campbell one? How much cheese in it? Any bread with it?
How much pasta? 80 gr or 200? How many toasts? Dripping butter and Nutella?
Yes you become a little softer before a growth spurt, but not that heavy. And if a boy has boobs that weight is not muscle.
It is very good on you OP to be concerned. What not keeping a food dairy. A previous poster commented that your son's diet is heavy on carbs. Does he eat alone or do you eat as a family at the dinner table. What does he drink? Chocolate milk? Juices? Sodas? or maybe something healthy like a liter of milk and 3 bananas.
If he buys junk food at the shops, you'll find the wraps somewhere in his room, schoolbag, under the bed, ....
Why not suggest a new year resolution and you start eating clean and lean as a family. So he won't feel targeted.