I have been using milestone XP for several years now, which (I feel) has at least partially contributed to apathy from several players. (Why bother making an effort to come if you get all the character rewards anyway?) Also, it's made players want to rush through content, avoid side quests and exploration, roleplaying encounters, and wandering monsters.
How do you make the game more than just a "greatest hits" of an adventure when using milestone?
These seem like table problems, not milestone problems. I don't mean that as an attack but I've been running milestone (i.e. DM sez when) since I first heard it suggested (3E sometime?) and I've literally never seen any of these issues, including the "players don't go off-mission", because if anything, my players go off-mission MORE on milestone than they did pre-milestone, because they're no longer concern that messing around doing what they think is cool will hold them back from getting XP!
I used to give out tons of XP for RP and stunts and stuff, and that, in my experience made players who weren't good at doing what it took to get that XP feel apathy or less involved. Especially in 3E, where the XP tables became one XP table, so if you were a level or two behind, that was clearly down to less XP, not down to being a Mage or whatever. Now I see everyone involved, because everyone is excited to be playing an RPG.
It may also be that you're running milestone very literally - i.e. achieve a major goal, get a level. I don't run it like that. I run it as "You all level up when it seems reasonable that you would". The other 5E DMs I play with IRL all run it the same way (to the point where I hadn't considered you might not until now). Not "because you defeated the duke", but because it seems like, after so many sessions and events, you should level up (though that may well coincide with defeating the duke). That your players are mission-obsessed suggests to me that you might be running it in a very literal way, so they can see a goal and know that means a level-up. Which is probably not ideal. For me it's more about hours at the table than actual progress on missions that leads to leveling with milestones (though both factor in).
Also re: character rewards, if leveling is the only thing your players care about well, that's your problem right there.
Magic items aren't a given in 5E. They aren't needed. They aren't part of the calculation (really). You don't have to have a Cloak of Resistance +2 at level X or you break the math (unlike 3.XE, where that was explicitly the case). So you can reward people with them for stuff - especially for going off-mission, if that's the issue. Indeed, thinking about my main 5E campaign, virtually all the best magic items the PCs have, have indeed come from going "off-mission".
Inspiration points or Hero points replace the small XP rewards of the past very well, but have the benefit of not making players feel excluded in the same way. Give them out freely and explore alternatives to the default Inspiration system.
In-setting titles and respect can mean a lot to players, even ones you wouldn't expect, too. So can fat stacks of cash. Even if the players have no idea what to do with it.