Ainda não vi exatamente o mesmo combo problema / solução que o fez funcionar para mim, então posso adicionar o meu caso alguém tenha o mesmo problema!
Para meu aplicativo, estou usando um esquema de URL personalizado (configurado em APP_TARGET > Info > URL Types) e configurei o esquema de URL daqui para o console do Firebase para corresponder, mas ainda não estava funcionando.
Meu problema era na verdade dois problemas:
Cuidado ao marcar Gerenciar assinatura automaticamente
Se você estiver verificando a configuração "Gerenciar automaticamente a assinatura" do Xcode como eu estava, já que estava apenas tentando fazer um aplicativo de demonstração rápida, você vai querer garantir que o TeamID que é usado corresponda ao do seu console do Firebase. Eu fui originalmente para minha conta de desenvolvedor da Apple e copiei o ID da equipe da minha página de associação, mas depois vi que o ID real sendo usado pelo Xcode era diferente. (Você pode encontrar isso em APP_TARGET > General > Signing > Signing Certificate.Para mim parecia iPhone Developer: My Name (TEAM_ID)).
Prefixe seu TeamID para o seu identificador de pacote em seus tipos de URL
Depois de garantir a correspondência entre meu console do Firebase e o Xcode, meu próximo problema foi o identificador do meu esquema de URL. É comum usar seu identificador de pacote aqui, mas o Firebase na verdade prefixa isso com o ID de equipe que você forneceu no console do Firebase, então eu tive que prefixá-lo para o identificador na seção de tipos de URL no Xcode também.
Após essas duas correções e refazer o download do GoogleService-Info.plistarquivo, não tive problemas para abrir meus links dinâmicos.