UGameInstance::PlayReplay does not work

Temporary solution.
It is enough to do the following

MyGameInstance.h

virtual void PlayReplay(const FString& InName, UWorld* WorldOverride = nullptr, const TArray<FString>& AdditionalOptions = TArray<FString>()) override;
void HandlePreLoadMap(const FString& MapName);
FDelegateHandle _HandlePreLoadMap;

MyGameInstance.cpp

void UMyGameInstance::PlayReplay(const FString& InName, UWorld* WorldOverride, const TArray<FString>& AdditionalOptions)
{
    Super::PlayReplay(InName, WorldOverride, AdditionalOptions);
    _HandlePreLoadMap = FCoreUObjectDelegates::PreLoadMap.AddUObject(this, &UMyGameInstance::HandlePreLoadMap);
}
void UMyGameInstance::HandlePreLoadMap(const FString& MapName)
{
    FCoreUObjectDelegates::PreLoadMap.Remove(_HandlePreLoadMap);
    GetWorld()->DemoNetDriver = nullptr; // The solution lies in this line
}