document.getElementsByClassName возвращает список элементов, а не один элемент.
let heroBlocks = document.getElementsByClassName('hero');
if (heroBlocks.length > 0) {
let hero = heroBlocks[0];
console.log(hero.offsetHeight);
}
ну, или можно в лоб
let hero = document.getElementsByClassName('hero')[0];
console.log(hero.offsetHeight);
или используя querySelector
let hero = document.querySelector('.hero');
console.log(hero.offsetHeight);
UPD: дам совет, научитесь использовать инструменты отладки, например вкладка Sources инструментов разработчика хрома. Там можно проставить breakpoint точку остановки скрипта, и навести мышкой на нужную переменную, и узнать, что же она на самом деле содержит.
Ну, или дедовским способом
let hero = document.getElementsByClassName('hero');
console.warn(hero); // выведет HTMLCollection [], вы сразу поймете, что это не элемент, а коллекция/список.