Algo muito importante sobre a publicação dos eventos de integração é que eles devem ser publicados após o commit do Unit Of Work, ou seja, eles só podem ser publicados depois das regras de negócio serem 100% executadas com sucesso.
Qualquer problema nas regras negócio, fará as transações serem revertidas e não devem publicados os eventos.
No código-fonte do Github eu ajustei esta ordem de publicação: https://github.com/devfullcycle/mba-domain-driven-design/blob/main/apps/mba-ddd-venda-ingresso/src/%40core/common/application/application.service.ts#L19-L21. Aproveitamos que os eventos estão registrados nos agregados e disparamos os eventos um a um usando o pattern transactional outbox.