Migrating Blueprints Based on Migrated C++ Code: Bluprint could not be loaded because it derives from an invalid class. Check to make sure the parent class for this blueprint hasn't been removed!

Just had the same problem when migrating assets to a new project with C++ parent classes.

After failed with several solutions (redirecting, etc.), I duplicated the broken assets in my old project, reparented the assets with a parent class existing in the new project (in my case, the broken parent class was inherited from the default UserWidget class, so I reparented to UserWidget), then migrated the duplicated assets to the new project, open Blueprint Editor in new project and fixed all the errors. In this way, I kept most of the Blueprint scripting and fixed the problem with a relatively lower cost.