I’m going to say it (and eat the downvotes): Unity devs have become entitled, and kinda deserve the new Unity pricing structure.
Supporting more and more devices and functionality of c# on weirder and weirder runtimes. It is a mountain of dev work that Unity is paying for and subsidizing for your game. If there was an open source effort to make a unified c# runtime across all platforms that would be one thing, but it will always be front run by new features releasing to .NET so it will never exist.
Changing an existing agreement for pricing without any warning is gross. But something had to give eventually. I would have told you that 10 years ago.
.net 7+ is an open source unified runtime.
Unity just needed to move to .net (previously .net core) to save a tonne of work.