I’ve been through something similar, not identical, with DS. He’s now 16yo. I wouldn’t say we’ve conquered it, but we are a much better place. It was so much easier in primary school, when I knew exactly what he had access to, it’s much harder when they’re in secondary school and have access to a tuck shop, corner shop on the way home from school etc.
I pared everything right back. Only cereal for breakfast, or egg and soldiers. He took a packed lunch, so I knew what he was having. We had dinner earlier, and had only fruit or jogger for pudding on weekdays. I started having low reserves so that he thought twice about helping himself to a massive glass of milk.
I introduced Friday night and Saturday night nuts or chocolate. Got him involved in choosing. We all had the same - I bought a multipack for us to have one each. If it was something like a box of maltesers, I put each person’s portion in a little bowl to control quantity. Just water or squash, no juice in the house. Ice lollies when it was hot, not ice creams. Again, I got him involved in choosing what to buy for the freezer.
In terms of meal content, I upped the protein massively, dropped the carbs and upped the veg content of every meal.
It was really important to me not to make it really obvious what was going on. I ended up spending more on food overall, despite not buying snacks, so that meals were extra tasty and interesting and lots of variety.
im pretty sure that I started at this time of year, and by the summer I could see that he’d lost weight, or probably just stayed the same but had grown a little.