Yeah, good question. "Can't people" applies pretty much to every feature and option added to Emacs that people can do themselves including overriding functions wholesale. The bigger picture, to me, is that if we add options to do things like this for our users, then we can help more of them, we can refine implementations at deeper levels should we need to, we can prompt people to think more considerately about their working environments. Perhaps some never considered using symlinks as vanity paths and they'll have the choice to treat project objects among those paths canonically.
Since I suggested it be optional, it would be off by default, right? If you think you'd want to canonicalize paths to project roots in some places and not others, perhaps we could contrive a project sentinel file ala .project-notruename.el/d or .project-config.el/d, and for people that want to do things in code, a list project can consult.