UClass* Class = MySubsystem->GetClass();
UBlueprint* BP = Cast<UBlueprint>(Class->ClassGeneratedBy);
BP will be nullptr if it isn’t a blueprint.
But that doesn’t solve the problem, your native class should be marked with Abstract specifier.
UCLASS(Abstract)
That will prevent the C++ base class to be spawned by the SubsystemCollection{}.