Максим Иванов: с DOM всё так. Проблема в том, как мы пишем приложения. Нельзя просто так брать и вываливать 100500 блоков пользователю. Рендеринг нужно производить лениво по мере необходимости. Помочь в этом может, например, IntersectionObserver: https://dmitryskripkin.github.io/vue-virtual-scrol...
Максим Иванов: Нет, потому что не рендерит все строки, а только те, что видны.
Дёргание за скролл - не типичный сценарий использования. Но да, там можно ускорить отказавшись от динамических ширин колонок.
Во втором примере, в реализации на $mol, снизу за пределами видимой области блоки не рендерятся. А пока они не отрендерены - высота их не известна. Поэтому общая высота известна лишь приблизительно и по мере скролла она растёт, из-за чего ползунок слегка отскакивает назад.