Olá, Tiago, como vai?
Sua observação está bem alinhada com o funcionamento dos validadores no Angular. De forma objetiva: o validador apresentado na aula é síncrono, e não assíncrono. Validadores assíncronos realmente precisam retornar um Promise ou um Observable, pois geralmente envolvem chamadas que dependem de resposta externa, como uma API.
Já o senhasIguaisValidator
avalia dois campos diretamente, sem depender de processos externos ou tempo de resposta. Como o resultado da validação é imediato, o retorno é direto, o que caracteriza um validador síncrono. Na aula, o validador é mencionado como assíncrono, mas tecnicamente ele é síncrono, já que não depende de operações externas ou respostas assíncronas, como chamadas a uma API. Vou repassar esse ponto para a equipe responsável pelo conteúdo, para que possam avaliar.
Qualquer outra dúvida, o fórum está à disposição.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!