Especially on a really slow connection (and limiting it to edge in devtools) this effect is painfully visible where it’s 90% filled but the page isn’t loaded. This is mostly poor design, should it not show actual progress to be of some use and not just a new version of the spinner?
That was never the goal, and showing actual progress of a dynamic resource of unknown size over a variable throughput medium is not a trivial feat.
Currently, it parametrizes the animation based on the average of the last few transitions and will stop at 90% when this specific transition takes longer than the average.
Loading bars are useful primarily as a psychological soothing tool for the user more than an indicator of the precise amount of progress something has completed