Na w3schools a descrição da position absolute é a seguinte
absolute: The element is positioned relative to its first positioned (not static) ancestor element
Ou seja, o elemento vai ser posicionado relativo ao primeiro ancestral que tenha um position definido(por tanto que não seja estático), logo com isso as medidas % vão tomar como referência o ancestral que tenha esse position definido. Eu fiz alguns testes e notei que por padrão o elemento que tem position definido não é o body e o html e sim algum elemento que tem uma hierarquia maior que ambos, porem no documento html a maior hierarquia que eu tinha escrito era o html. Ai que mora duvida, se o elemento que vem com position definido por padrão não é o html e sim algum com hierarquia maior, então qual seria esse elemento ?