There may be a solution to actually achieve this but it would probably end up quite “hacky”. You see, a blueprint class isn’t actually class, as in it is not a C++ type. A blueprint class is a generated class which is instantiated at runtime and holds meta information about the class. C++ classes have these generated class objects as well. So in C++ you can never get the type of a blueprint class nor could you call functions or access variables with standart C++ syntax. There may be a workaround into tricking UHT to register a C++ object property with a blueprint class type, but I don’t know how or even if that would work and that wouldn’t be a very nice solution either.
Long story short, either have a blueprint child class of your game mode which can hold a variable of the blueprint class, or what I would recommend have a C++ parent class for your pawn which implements the Blueprint interface with blueprint implementable events, which can be called both from C++ and blueprints without casting.