The fragmentation is because of the need for certain users to override the limit, if it was a config flag it wouldn't be as bad.
Well if you had config flag more people would change it which means more people running with different settings which means more "fragmentation"...
A config flag allows people to use different settings without using a different Bitcoin Core, so it would reduce forks(fragmentation). The point of config flags is to be able to run the same software with different settings.
But there is still a real difference there. One is via a code & compile and the other is via a config. Whichever way there is still difference there.