Long story short:
- Prepare the destination tenant: create all the same users with
required licenses, groups, resource mailboxes and shared mailboxes
assigning them some temporary domains for example onmicrosoft.com.
Assign members to groups, recreate mail flow rules if there are any
in source tenant etc.
- Then in the source tenant you remove the domain you plan to migrate.
That may need some manual actions to remove all the dependencies
from the objects, that are related to the domain
- Add the domain to destination tenant and assign all the previously
created users groups, resource mailboxes and shared mailboxes
correct domains and aliases
- Test mail flow to destination tenant
- Migrate users e-mails, calendars, contacts OneDrive contents from
source tenant to destination
- If users use Outlook, then they might need to create new profiles
since Outlook will be complaining about the mailbox being moved.
Also i think OneDrive might need to be reconfigured.
- If everyone is happy, then remove licenses from source tenant
Now additional things to consider:
During steps 2 and 3 there is state, where e-mail addresses, which were in source tenant, don't exist. Meaning that there will be downtime in e-mail delivery depending on how long it takes to complete steps 2 and 3. Therefore you might want to consider using 3rd party SMTP service, which would hold the e-mails (which were sent to the domain you migrate) in queue and release them later. That's the way you would avoid e-mail loss.
Then you must consider, how to perform the migration in step 5. There are 3rd party solutions, which do migrate pretty much everything, but they also cost alot. I have used CloudM, which was able to migrate everything, but Teams private chats. I have also used Exchange online IMAP migration, but that only migrates e-mails leaving calendars contacts and OneDrive behind. I am not aware, that Microsoft would have any other free to use tools for tenant to tenant migration.
Ofcourse you can consider doing the first full migration between steps 1 and 2 and then last incremental migration in step 5.