I have just analyzed ULevel::RouteActorInitialize() and perhaps you can but its a bit whack. The function begins by iterating through all actors and calling PreInitializeComponents(), the PreInitalizeComponents function is virtual void which allows you to override its functionality. So you could initialize the required actor in the override of the actor that requires it. This ensures it is initialized before RouteActorInitialize() continues calling Actor->DispatchBeginPlay().
I also highly recommend disabling ‘allow Tick before BeginPlay()’ in each of your levels its world settings as most programmers expect Tick(float DeltaSeconds) only to be called after BeginPlay() has finished.
Here is the complete RouteActorInitialize() function as of version 4.18.2