How can i migrate the Azure AD users from an old Office 365 tenant to a new Office 365 tenant? Also, will it involve any downtime on the old tenant?
Also, how can i migrate the external users to the new tenant and retain the permissions?
You should look at this document from MS https://support.office.com/en-us/article/how-to-migrate-mailboxes-from-one-office-365-tenant-to-another-65af7d77-3e79-44d4-9173-04fd991358b7
I hope, above given reference should help you to achieve your goal in hassle-free manner.
Following Exchange server deployment assistant can also be a good approach for you.
You can gather more information at https://technet.microsoft.com/en-us/office/dn756393.aspx
In addition, in case if you wish to automate mailbox migration process, you may give a try Shoviv exchange manager which helps you migrate users mailboxes from old server to upgraded one without losing or tempering any content.