Especialmente em uma conexão muito lenta (e limitando-a à edge nas devtools), esse efeito é dolorosamente visível, onde está 90% preenchido, mas a página não foi carregada. Isso é principalmente um design ruim, não deveria mostrar progresso real para ser útil e não apenas uma nova versão do spinner?
Esse nunca foi o objetivo, e mostrar o progresso real de um recurso dinâmico de tamanho desconhecido em um meio de taxa de transferência variável não é uma tarefa trivial.
Atualmente, ele parametriza a animação com base na média das últimas transições e para em 90% quando essa transição específica leva mais tempo que a média.
Barras de progresso são úteis principalmente como uma ferramenta psicológica de tranquilização para o usuário, mais do que como um indicador da quantidade exata de progresso que algo completou