I understand the theory, but in practice this means if you want to implement a competing platform... you just need to write a Swift target!
Much easier for developers to go check out your platform.
More unification would likely also mean better abstraction layers across platforms, meaning that competing platforms could rely on those abstraction layers.
Think about how nice it is that most devices out there are running at least a flavor of Unix. You have a base-level expectation of how things can be integrated. There are of course differences, but generally if you write your stuff in a certain way you can use it almost everywhere!
And for those who don't want to work on Unix, all you need is a compatability layer to bring over some useful tools. Just get that C compiler up and running and you get a lot of stuff too!
The reason this is different from other forms of platform lock-in is that ultimately things like programming languages don't cover the full stack, so there are "obvious" places where you can swap either your language, the stuff underneath, or the stuff above it.