You are mixing different ideas of freedom. Software freedom is not the same as freedom of choice of software.
You don’t need Linux to have choices of what software to use, you have that in most (all?) proprietary systems, in some you might even have more choices than in Linux… even if it includes proprietary software.
This is analogous to how being a free person (not a slave) is not the same as having freedom to choose who to work for, even if some of them are slavers (ie. having freedom to choose your master).
The API specification is unaffected by this.
It only affects undocumented behavior, no documented behavior is being broken.
If you want to consider breakage of undocumented / unintended behavior as a major change, then every bug you fix would require a major version bump, since when you fix something you are essentially breaking compatibility for anyone who might have possibly relied on the existence of that unintended behavior.