Blocking Load not working when streaming levels

I can confirm that in UE4.19 “Should Block on Load” is completely ignored. However, “Make Visible After Load” is not.

Unlike op, my level is rather small such that the anticipated “hitch” is negligible to begin with. But similar to op, I have various player starts in my sublevels (it’s a linear setup where one sublevel leads to the other), so the sublevel must be loaded before the game begins playing in order to restore progress.

Simply calling Load Stream Level with “Should Block on Load” ticked behaves the exact same as if unticked. The player start is not found and the player is spawned at the fallback player start in the very first level.
However, adding a Sequence node before the Load Stream Level node and connecting Then 1 to a Flush Level Streaming node does what I’m looking for. The level is loaded before BeginPlay and the player start found.

Note that it does not suffice to call Flush Level Streaming after the Load Stream Level node as the Completed execution pin, of course, executes after the level has finished loading asynchronously. This semi-nasty workaround is a necessary evil.

Also note that I extended AGameMode with a custom C++ class to add more Blueprint hooks to run at various points during initialization, because BeginPlay propagates up the ownership chain, starting with the objects that own no other actors. This means the Game Mode is one of the last actors in the game to receive the BeginPlay event, which is the exact opposite of what I desired. (Although overriding OnPostLogin might have done the trick too, idk.)