Le partage d'IP de Free implique que ton IP publique n'est pas portée par ta Freebox. (De manière analogue, les appreils de ton LAN ne portent pas l'IP publique : c'est la box qui le fait, là on rajoute juste "un niveau").
Cela signifie que l'équipement de Free qui gère le partage de ton IP publique doit agréger plein de clients, mais comme c'est cet équipement qui porte l'IP alors si il est loin de toi c'est sa localisation qui sera visible.
Le seul moyen de géolocaliser proprement une IP c'est que l'opérateur en assigne des différentes en fonction de la localisation. Donc que l'opérateur réserve des plages d'IP en fonction de la localisation du client. C'était le cas chez Free il y a quelques années, sauf que cela n'est pas optimal : les IP sont une ressource finie, et imagine que le pool d'IP pour Bordeaux soit totalement utilisé mais que celui de Nantes soit utilisé à seulement 60% : si tu as un nouveau client sur Bordeaux, ben tu ne pourras pas lui fournir de connexion. Alors que si tu fusionnes tous tes pools d'IP au niveau national, tu n'auras pas ce problème. Par contre, tu perds la logique géographique de l'affectation des IP, en effet.
Par contre, la localisation de ton adresse IPv6 (de tes adresses pour être précis, parce que Free te donne un réseau entier d'IPv6 à dispo et non UNE seule adresse comme en IPv4) normalement elle, elle est fiable.