Olá Matheus, tudo bem?
A utilização da função findByText() torna o teste assíncrono porque ela espera até que o texto buscado seja encontrado na página. Já a função getByText() busca o texto imediatamente e, caso não encontre, retorna um erro.
A utilização do findByText() é recomendada em testes que envolvem interações do usuário, como no caso do evento de clique, porque pode haver uma demora na atualização da página após a interação. Dessa forma, o teste assíncrono garante que a página foi atualizada corretamente antes de prosseguir com o teste.
No entanto, se o seu teste funcionou corretamente utilizando a função getByText(), é possível que o evento de clique tenha sido rápido o suficiente para que a atualização da página tenha ocorrido imediatamente. Como é o caso de aplicações SPA que não precisão recarregar todo o HTML da página, apenas a parte que foi atualizada.
Em resumo, a utilização do findByText() é recomendada em testes que envolvem interações do usuário. Se o seu teste funcionou corretamente utilizando a função getByText(), não há problema em utilizá-la, desde que você tenha plena convicção que o elemento eperado não vai demorar para aparecer em tela, o que acredito ser díficil calcular, então neste caso opte sempre pelo findByText().
Espero ter ajudado e bons estudos!