Um pouco atrasado, mas espero que ajude os outros.
Uma opção que vi em uma implantação real de várias florestas O365 foi usar uma floresta de recursos. O FIM 2010 R2 foi usado para sincronizar todas as outras florestas e, em seguida, usar o Dirsync (ou o FIM 2010 R2 com o O365 MA) para sincronizar com o inquilino do O365. Ao escrever isso, o agente de gerenciamento não estava disponível gratuitamente e solicitou a consultoria da Microsoft para obtê-lo.
O imutável é de fato atributo objectguid do usuário no AD por padrão. Dirsync gravará o objectguid do objeto de usuário do AD no objeto de usuário representado no AD do Azure que hospeda seu locatário. Mas, tecnicamente, você pode usar outro atributo exclusivo em vez disso, se desejar. O principal a garantir é que o valor não seja reutilizado em outros objetos. Por exemplo, um funcionário ou atributo similar pode ser usado.
Observe também que o Dirsync é um "dispositivo de blackbox" que não é incentivado a ser ajustado além do que é documentado pela Microsoft. Por favor, não execute uma configuração não suportada.
Se você tiver definido o ImmutableID no objeto no Azure AD e o AD FS estiver configurado para ler o atributo relevante (por exemplo, employeeid) e enviá-lo na asserção, o O365 ficará satisfeito. O atributo ImmutableID é uma string. Tudo o que você precisa fazer é enviar um valor que o O365 espere receber e corresponder no AD do Azure.
Verifique as regras de declaração criadas pelos cmdlets do O365 Powershell no AD FS. Especificamente, a primeira regra para ver como o UPN e o ObjectGUID são extraídos e enviados como declarações relevantes.