While both methods have advantages and disadvantages, I would say that the second method is overall better since it would allow you to avoid downtime. If you migrate the resources manually, one resource group at a time, you will have more overall control, prevent downtime, and be avoid potential issues. https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/move-resource-group-and-subscription
The first method is less manual though, and better if your scenario matches any of the following from Deciding whether to transfer a subscription to a different directory:
- Because of a company merger or acquisition, you want to manage an acquired subscription in your primary Azure AD directory.
- Someone in your organization created a subscription and you want to consolidate management to a particular Azure AD directory.
- You have applications that depend on a particular subscription ID or URL and it isn't easy to modify the application configuration or code.
- A portion of your business has been split into a separate company and you need to move some of your resources into a different Azure AD directory.
- You want to manage some of your resources in a different Azure AD directory for security isolation purposes.
As for your second question, the prerequisite you cited means that you cannot move resources/data across subscriptions linked to different Entra ID tenants. This is currently not supported. For a cross-subscription move, the data needs to exist in the same tenant within the subscription. To get around this, you would need to move resource groups from one tenant to another, export all of the data from one subscription, and import into the new one. There is a detailed discussion around this here that may be helpful to you: [https://learn.microsoft.com/en-us/answers/questions/505287/move-of-resources-between-2-different-tenants-(sub](https://learn.microsoft.com/en-us/answers/questions/505287/move-of-resources-between-2-different-tenants-(sub)
There is also a guide here that details this process. It is not a straightforward move and much of it needs to be done manually: https://social.technet.microsoft.com/wiki/contents/articles/51360.azure-how-to-move-resources-between-subscriptions-under-different-tenants.aspx
If the information helped address your question, please Accept the answer. This will help us and improve discoverability for others in the community who may be researching similar question.