ServerTravel with Steam - Seamless and non-seamless


I have an issue with ServerTravel using Steam and non-seamless travel where my clients disconnect. This is a known issue apparently so I’m trying to find a workaround. I’m using this modified version of the ServerTravel (How to use different GameModes for one level in a Multiplayer Game with Blueprints? - Multiplayer & Networking - Unreal Engine Forums) because I need to switch gamemodes when I do the travel.
This works fine when using non-seamless travel and testing locally but when using Steam all the clients disconnect. When using seamless travel they remain connected BUT then OnPostLogin does not get called and my new gamemode does not setup properly.

My thought on a solution is doing a Blueprintcallable function that points to the HandleStartingNewPlayer and using this a substitue for the OnPostLogin and Event Begin Play which are now being used by the new gamemode.
Does anyone know if this would work and how it would be done? I’m assuming its very close to doing it like in the linked thread but instead pointing it at the existing HandleStartingNewPlayer-function, just wrapping it as a BlueprintCallable?

Thanks in advance to anyone who made it this far and if you have any ideas or thought please share them here.