Зачем писать tooltipElem = null;?
document.onmouseout = function(e) {
  if (tooltipElem) {
    tooltipElem.remove();
    tooltipElem = null;
  }
};
Чтобы при следующем событии mouseout условие if (tooltipElem) не проходило и не выполнялся лишний раз tooltipElem.remove()
Это оптимизация.
Визуально разницы нет, но под капотом работает чуть быстрее.
Когда событий сотни и тысячи (в небольшой промежуток времени), то оптимизация даёт более ощутимую разницу. В любом случае, лучше сразу писать правильно, чтобы потом не переписывать.