Developers should absolutely not have that choice. It's fine if you want to run a live service game where the optimal experience happens during active support. However, unless you as a dev are willing to refund every single purchaser of the game, in full, when you discontinue a game, then you are stealing from purchasers. Moreover, even if you are willing to give a full refund to all players, it's really shitty to just rip an experience away from people, never to be experienced again (whether in a watered-down or limited form, or not).
It's the same reason I don't agree with perpetual copyright, nor a copyright owner's right to suppress a work's availability. In almost all jurisdictions, copyright is intended to be a limited time right, with the rights eventually entering the public domain. If people can't access the work when it would become public domain, then that work is effectively stolen from the public in a way that mere non-commercial copyright infringement can never be theft.