Hi @Yasar mistry ,
To migrate users to a new domain, you can setup trusts between new and old forest and then do a cross forest migration to move the mailboxes over. For the overall guidance, you can refer to the links below (The links are for Exchange 2010 or 2013, but the steps are similar in Exchange 2016):
Cross Forest Migration in Exchange 2013
Cross Forest Migration Guide – Exchange 2010 to Exchange 2010
Please Note: Since the web sites are not hosted by Microsoft, the links may change without notice. Microsoft does not guarantee the accuracy of this information.
Besides, as per your concerning about receiving mails to old domain, you can use email address policy to change users' primary email address to the new domain, and meanwhile keeping the old email address as an alternative address, allowing them to receive emails to both addresses.
If an Answer is helpful, please click "Accept Answer" and upvote it.
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.