Das das Scrollen hier nach Zeilen geht und auch nicht die Größe der Anzeige beachtet wird .... ist das halt normal so.
Leere DummyZeilen anhängn?
ansonsten
* ins ScrollEvent hängen und wieder hoch scrollen, wenn zu weit
* oder rausfinden, wo das Mistding die Scrollbar einrichtet und hoffen du kannst dort die Berechnung anpassen