When does the server know when a client has finished server travel (not seamless)? There must be a callback somewhere but I can't find it

That is a great question!

I claim you are correct.

My solution, more of a work around, was to run a game story cut scene as soon after each player is loaded. In addition, I do not allow the players to early exit the cut scene until the immediate terrain is loaded (the players can stand on something without falling thru the map/level). Also, I turn off gravity for all players for that amount of time. Finally, even after this time where the players can “safely” move about, the surrounding visible streaming levels are still loading.

If you discover, or learn about, any solution, or better work around, please post.