I'm still having this issue, I decided to not implement scroll trigger on an internal page, but in this case it is really detrimental to project.
I've done a screen recording which seems to give some understanding of what is going off here;
It seems like SvelteKit does the following;
1. Appends the new page under the current page.
2. Moves the scroll position to the top of the screen.
3. Hides the current page.
This means `onMount` is calculating the scroll positions right at the bottom. I'm unsure whether this is a bug with SvelteKit as I've only recently come across this issue. But I think that is what is happening here.
EDIT FIX:
If you are using Svelte Transition at any point, use `|local` so `use:transition|local` without `local` it will try and animate between pages.