If there were alternatives (like on the desktop and for some parts of IoT) it would be more cost-efficient to upstream everything, but with the current situation it's fully up to Google.
When Google wanted them to move all their chip-specific code to modules (GKI), they had to do that. And if someone at Google randomly decided "hey, now you'll upstream this stuff", then guess what? They'd have to follow, it's how this monopoly works.