De início achei que tinha dado errado porque o resultado deu um número enorme. Só depois de revisar passo a passo do código notei que era porque o resultado do cálculo não era um número inteiro (paciência! ainda sou de humanas e estou com sono... kkkkk).
Para resolver o problema chamei o Math.round. O resultado final foi esse:
<meta charset="UTC-8">
<h1>Quantidade de gerações no Brasil</h1>
<script>
function pulaLinha() {
document.write("<br>")
}
function mostra(texto){
pulaLinha()
document.write(texto)
}
var anoAtual = 2021;
var anoDescobrimento = 1500;
var primeroFilho = 28;
var gerações = (anoAtual - anoDescobrimento) / primeroFilho;
mostra("Desde a chegada dos portugueses ao Brasil, temos " + Math.round(gerações) + " gerações de brasileiros.");
</script>