На рабочей демке размеры картинок берутся и src, а на не рабочей нужно дождаться загрузки картинки, перед тем как брать размеры из image.naturalHeight. Плюс ко всему document.querySelector выбирает первый попавшийся элемент, а не тот который бы создан последним