Eu não estava entendendo o motivo do loop infinito, mas logo de primeira identifiquei que a media poderia ser apresentada melhor por um "alert". Porem eu bati cabeça até que decidi vir ao fórum, onde um rapas disse que resolve o problema com usando o contador.
let qtdNumeros = prompt('Digite a quantidade de números para o cálculo da média:');
let soma = 0;
let contador = qtdNumeros;
while(contador > 0){
let numero = parseInt(prompt('Digite o numero:'));
contador --;
soma += numero;
}
let media = soma / qtdNumeros;
alert(`a media é ${media}`);
Porem eu não entendi qual a função desse "--" no código ao lado do contador, ficaria bem feliz em entender isso melhor.