I found the bug source:
@ UnrealEngine\Engine\Source\Runtime\Core\Private\Modules\ModuleManager.cpp
@ FModuleManager::MakeUniqueModuleFilename
Replace
*Module->OriginalFilename.Right( Module->OriginalFilename.Len() - SuffixPos ) );
to
TEXT( “.dll” ) );
This code will definitely work for PC, I am not sure if hot reload supported for other platforms.
The reason of issue is that this code will generate name of module as …/…/MyGameName_1234_5678.dll
But to source compiler only MyGameName 1234 part will be provided and compiler will succesfully produce
…/…/MyGameName_1234.dll