You're presenting this with ironic swipes like "bad things like ask for more money", but it's hard to read this description as anything but straightforwardly more efficient.
If there are few downsides to centralizing game engines, and the need for engine work is inherently cyclical, why should we want engine work to be internal and non-cyclical?
I really don't know much about game engines so maybe there are real downsides to that approach, but the way you've laid it out makes it seem as if Microsoft made the right decision here.