Olá Paulo, tudo bem com você?
Peço desculpas pela demora em lhe responder.
O comportamento apresentado está acontecendo devido à tentativa de seleção das classes info-peso e info-altura no document e não no paciente. Desta forma, durante a execução do laço for as variáveis tdPeso e tdAltura sempre receberão a primeira td que faz o das classes info-peso e info-altura, neste caso os dados do primeiro paciente.
Para corrigir o comportamento apresentado, basta informar que as classes info-peso e info-altura estão sendo selecionadas a partir da variável paciente que contém classe paciente. Assim a cara interação do for os valores recebidos serão os valores de cada paciente.
No arquivo js/principal.js dentro do laço for modifique a atribuição das variáveis tdPeso e tdAltura, deixando como abaixo:
var tdPeso = paciente.querySelector(".info-peso");
var tdAltura = paciente.querySelector(".info-altura");
Realizados as mudanças acima, salve o arquivo principal.js e abra no navegador o arquivo index.html, verifique se os valores da coluna IMC serão apresentados conforme esperado.
Fico à disposição em caso de dúvidas.
Abraços e bons estudos.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!