When you try to load a level instance, the client is disconnected from the server. If you load instance from the server’s rights, then the client does not disconnected, but the loaded instances are invisible.
Disconnection occurs when setting “should be visible” to true.
The same thing happens on a new test project.
I have encountered the same issue, and dug into the code in order to find the cause.
It appears the call to APlayerController::ServerUpdateLevelVisibility fails, as the client-provided PackageName cannot find a match in the UWorld’s StreamingLevels array. More precisely, this array does contain an identical package name, but the Number fields of the FName objects are different, causing the equality test to return false.