In my case, in a mixed environment, I can't add an alias via Exchange online, and we don't have an exchange on promises.
AD Sync pushes the attributes from AD to 365 so... if you no longer have an on-prem Exchange server, that's fine... use Active Directory's attribute editor like you did before Exchange started allowing these aliases added directly in the EAC. Jump into your domain controller, open ADUC and open the user. Click the Attribute Editor and add your aliases there.
Email address type update failed
Error:
Error executing request. An Azure Active Directory call was made to keep object in sync between Azure Active Directory and Exchange Online. However, it failed. Detailed error message: Unable to update the specified properties for on-premises mastered Directory Sync objects or objects currently undergoing migration. DualWrite (Graph) RequestId: 9ee1a32f-ae47-4171-ad6b-ed0a1956a05e The issue may be transient and please retry a couple of minutes later. If issue persists, please see exception members for more information.
To add an alias email we have to navigate to the attribute editor, if you can't see this tab, its probably because Advanced Fitures is not enabled. You can do this by clicking on the View menu button, and in the drop-down, click on Advanced Features, which will put a tick next to it. Once enabled, you will see more folders in Active Directory appear.
Double-click on proxyAddresses and add in the address. You need to add SMTP: before the address,no spaces, for example, smtp:user@mycompany.com
Forcing a sync or simply wait
You can wait for autoreplication or force an Azure AD Sync. On the server where you have Azure AD connect installed, open up an elevated PowerShell window and type in the command below to force a sync:
Start-ADSyncSyncCycle -PolicyType Delta