É que quando é feito isso:
var imc = trPaciente.querySelector(".info-imc")
Você está retornando no javascript, ou seja, o mesmo tem uma referencia. Então se você alterar alguma propriedade dele, por exemplo:
imc.textContent = peso / (altura * altura);
Isso vai ser refletido no seu html também.
Porém quando você faz isso:
trPaciente.querySelector(".info-imc").textContent;
Você está capturando apenas o valor daquele elemento, e não a referência do objeto do mesmo, ele só te retorna uma string.
Segue abaixo um exemplo do que foi explicado, que é o mesmo caso do código relatado:
var string1 = "abc"
var string2 = string1;
string1 = "123"
console.log(`valor da string1=${string1} é diferente do valor da string2=${string2}`)
var object1 = {valor : "abc"};
var object2 = object1;
object1.valor = "123";
console.log(`valor do object1=${object1.valor} é igual ao valor do object2=${object2.valor}`)