The player is not telling the DM that his character knows something the DM thought he didn't; the player is changing the world as the DM knows it.
Was there a shorter route? No. Is there a shorter route now? Yes.
Should that shorter route continue to exist in the future? Yes.
Could that shorter route have had an impact on campaign play in the past? Potentially.
I'm not sure there is a problem in any of these circumstances. Even the last one as obviously, no one actually looked in the past because it had not come up. If it had come up in the past the DM could certainly rule that no route exists to maintain continuity. Though maybe the route is new, or the path is new, or the players know the city better now so really there is no conflict.
Who has to track these effects? The DM. Now let's suppose that the PCs are engaged in a friendly rivalry to catch the villain that the DM thought was fleeing by the most direct route.
Player 1: Do I know a better route? I roll a 21!
DM: Yes, you'll catch him at...
Player 2: Wait a minute! I know this city better than him I roll a 25!
DM: OK you know an even better route. You'll catch him at...
Player 3: Hey wait a minute! Remember 13 sessions ago when I was fleeing from the ragamuffins! I found a terrific route out of here, I rolled somewhere in the mid-30s!.
How many better routes can exist? How long do they continue to exist? Why didn't the villain traveling by the most direct route take them?
This is silly. The first player (who rolls the 21) knows the route. The second player (who rolled a 25) also knows the route - why does there have to be a different one? I'm arguing for limited player narrative control over certain aspects of the setting - not drawing tunnels in the wall a la toon!
Obviously DM judgment has to be at play here, but that's why there is a live DM sitting at the table! And before you argue slippery slope! Every DM judgment call is a potentially slippery slope - doesn't mean they should not be made.