I completely disagree regarding your stance on OS fragmentation. Having too many versions of an OS in production makes development very hard to keep up with. Apple's iOS is somewhat fragmented, but generally new apps run on most iOS devices around today. Android is way more fragmented, with many of those OEM features you mentioned working on some devices and not on others. Given that Windows Phone has such a small market share and far less apps in the Windows Store, if they were to fragment too much like Android the app gap would only widen, particularly for users on mobile carriers that currently cannot get the new Lumia phones.
If those devices are not capable of running the feature they shouldn't get the feature. And, the fact that the features are available as apps, as opposed to requiring an OS update that the carrier will block, means that you can get the features without having to upgrade the OS. But you can still get blocked when Google Play tells you that your device is not capable of running the app.
I've tried the workarounds; downloading an APK off of the internet and installing it outside of Google Play. And what happens is that I am forcing an app that Google Play has told me that my device is not capable of running on old hardware. And I run into issues, every single time. Call that fragmentation if you want, but at least you don't have people running software they're not capable of running. Of course if they root and force the issue that is completely up to them.
You'll never get everyone onto the same version of the OS. It simply is not going to happen. On the desktop, we still have users running Windows 2000. How do you propose that Microsoft forces everyone onto Windows 10? They only offered the upgrade for 7, 8, and 8.1. Because people running older versions, like Vista, XP, 2000, etc. should not run Windows 10 on their computer. They might get it to work. But they'll run into issues, every single time.
Phones are no different. There are still Windows Phone 7, 7.5, 7.8, and 8 in the wild. You can't put all of those phones on Windows 10. Microsoft was right to prevent 7x phones from updating to Windows Phone 8, BUT, Microsoft should have continued development of their own core services for those old platforms. That is the difference. You don't need Marshmallow, because you can still run the latest apps on KitKat. The problem with Windows 10, as it corresponds to phones, is that Microsoft is not updating core services for Windows Phone 8.1 anymore. What if I don't want Windows 10? Why can't I get Groove Music on WP 8.1? Why can't I get an updated Video app?
Right now that does not matter because the core apps aren't much better on Windows 10 anyway, if they are even as good. But what happens when Windows 10 users get functionality that isn't available to WP 8.1 users. I'm not referring to services like Hello and Continuum, but when the core apps are better on Windows 10 and they suck on WP 8.1? Windows 10 has the Edge browser. Internet Explorer, on WP 8.1 sucks. Now if this were Android, it wouldn't matter because Chrome is available on all versions of Android going back to Jellybean. And all of the alternative browsers for Windows Phone 8.1, work as though they are based off of IE.
That's all I'm really saying. Not that fragmentation is good. But that fragmentation is inevitable, because people should not have to upgrade just because the technology has advanced and most people will not, and do not upgrade. Sure, some cut off their nose to spite their face, but there are usually instances where a company could support those users, but won't, because they want to push hardware sales, in order to push sales of new services onto those old customers that are no longer generating revenue.