Oi Diogo, tudo bem com você?
Peço desculpas pela demora em obter um retorno.
Isso acontece porque o while é uma estrutura condicional de repetição que depende do valor de seus parâmetros, que nesse caso você deve ter declarado tentativaAtual = 0 e maximoTentativas = 3. Lembrando que é uma suposição do seu código, já que o mesmo não foi compartilhado completo.
Analisando a sua dúvida, o loop é quebrado porque a condição é satisfeita no momento em que atribuímos o valor da tentativaAtual à variavel maximoTentativas, ou seja, tentativaAtual = 3. Logo em seguida, como ocorre em toda estrutura while, tem de haver uma iteração da variável tentativaAtual, resultando em tentativaAtual++ ou tentativaAtual = tentativaAtual + 1.
Dessa forma, tentativaAtual = 4 deixa de satisfazer a condição e a leitura do código continua normalmente.
Como recomendação, deixo o Alura+ de Iteradores em JavaScript: for e while, da nossa instrutora Juliana Amoasei, onde, é explicado passo a passo como utilizar iteradores dentro de funções while e for do JavaScript.
Em caso de mais dúvidas, me coloco à disposição.
Grande abraço e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!