I'd look into the lunchtime situation at school. Last year my son had about 12 minutes in the cafeteria-- his teacher was routinely late at getting them out of class to lunch and they had a limited window of time before the next wave of students needed to be seated at table for their meals, so yeah, short lunchtime. So, ask about that first.
I really wish they would have recess first and then lunch. I believe some kids have conflict in that they want to play with their friends, talk, and do the things they couldn't do in class right away. So, lunchtime gets frittered away in favor of that.
Also, when my son didn't finish something from his lunchbox, those were the things he was allowed to eat after school. So consider re-serving it. If he gets hungry after dinnertime, then that's a great time to say "well, if you are hungry you can have (what's left over)", so he gets used to the habit of eating the food presented. We did this with Kiddo-- and still do (he's always starving at 8, even with a big dinner). You don't get to ask for food and then just not eat it.
I can understand hot lunch being a treat; it was in our house growing up. The cost per person per lunch is so much less when we brown bag it.
ETA: In the world of amazing coincidences, I only just received an email from my son's old school. (we homeschool now.) Turns out they DID move recess before lunch! What good news! All that to say, it can be done and there is a school district which approved this shift. :)