Вот вариант решения. На проблемную строку указал
Дмитрий Беляев.
Помимо сомнительного решения хранить данные в DOM так же дополню:
1) Используйте const по умолчанию, let только если будете менять значение переменной. При этом, если в переменной объект или массив, а Вы меняете свойство объекта или элементы массива, то это тоже const.
2) Не надо обращаться в DOM при вызове функции, чтобы найти там какой-то элемент. Элемент никуда не девается в Вашем случае. Соответственно, элемент лучше найти один раз вне функции, а внутри функции только обращаться к переменной, которая хранит этот элемент. Поиск в DOM одна из самых медленных операций.
3) Не используйте innerHTML без реальной необходимости. textContent в Вашем случае лучше подходит. Так быстрее и безопаснее.