формат передачи данных изменить с txt на json (удобнее для передачи), использовать async defer для загрузки скрипта, а внутри прописать domcontentonloaded (вроде правильно написал, если что в инете поищи, есть еще onload просто и ready), вывод содержимого делать на как статика, как динамика, если используешь список, то при прокрутке подгрузку делать просто..
P.S а теперь конкретный ответ на твой вопрос, да, большой Js влияет на загрузку сайта (3000-3500 строк, ты там что написал то? фреймворки столько даже не используют, так что вперед переделывать с нуля скрипт чтобы все четко работало), на скорость будет влиять, чем меньше используешь пространства, тем лучше, в твоем случае поможет fetch с подгрузкой (либо ajax(сложнее), либо xhr (легко), fetch пока что не так часто используют)) и формат поставь json и при множественном пролистывании вниз страницы, не удаляй элементы, а делай из hidden просто, а когда обратно будешь листать меняй это свойство( лучше все это делать с добавлением класса к элементу). Можешь проверить свой сайт на google pagespeed