TBH, this is probably just a bit of a cycle - he doesn't want to eat because he's busy playing, but then he's hungry so he is more likely to have a tantrum/a bigger tantrum and then he's tired so he gets more unreasonable and it's all a bit of a nightmare.
I think actually what I'd do is have a predictable routine - he'll fight it on the first 2-3 times but then he'll get used to it and it will get easier.
So breakfast before going out as suggested before. Maybe a picnic lunch outside (or give him the choice) and then counting back from bedtime, around 2-2.5 hours before is dinner time, but outside time finishes 30 minutes before then. Give him a 5-10 minute warning, if you have specific things to play with then I used to find it helpful at that age to say things like "You can have three more slides, then it's time to come in." Or have a little ritual like watering the plants together.
When it's time to come in, be firm about it to the point of carrying him in if you need to. Don't be angry or make threats or plead or bribe or anything and don't let it drag out - I like Janet Lansbury's "confident momentum" at these kinds of moments. Confidence comes from the fact that you know you are stronger and you can make him if you really have to, but having confidence that he will just do it is also helpful. Once inside, with door closed, you can empathise that he really wanted to keep playing, he wishes he could be outside all day etc etc but then transition to another activity - maybe even something more sedentary like TV? The 30 minutes here is to give him chance to calm down and get over the fact he's been made to come in, and not link that with dinner, since that is just likely to make him reject dinner because he's in a fighting mode. Most children even if they are having a tantrum will have calmed down after half an hour.
The reason for dinner 2-2.5 hours before bed is that IME if you have dinner too late then they are too tired to have any sense left, they don't want to eat, they get into silly arguments, they go all floppy and whiny. But then if they haven't eaten then they get even more silly/hangry/whiny and of course they don't tend to sleep well if they haven't eaten much.
You can then decide if you want to offer some more outside time after dinner (perhaps as a reward for coming in and eating nicely?) or just avoid the scenario altogether and say no, after dinner we stay in, let's do something else.