What’s the upside of doing the reverse NAT proxy thing though? That sounds like a lot of work just to avoid exposing a couple more custom ports on a machine…
Besides, the proxy program wouldn’t just work out of the box. One cannot just join an UE4 process then try to swap it for another without UE4 noticing! You should expect a bunch of issues and bugs, or even security-related errors.
So unless I’m missing something, at the end of the day you’d end up with a lot of work on your hands for the proxy server, PLUS the travel code that you’d have to code anyway…
EDIT: You should also know that it takes some time to spool up a new UE4 dedicated server instance. Depending on the frequency of level changes, and the probability of requiring a new instance upon changing levels, it might get annoying for your players. Other issues are gameplay related: Say this game has some PvP component and one player is chasing another, if the lead player gets stuck 30sec because of a server start, then the chasing playing will catch up for reasons that are unrelated to the intended gameplay.