Because that's what the API is for.
This isn't hard to understand. The cost you pay for subsidized tokens is lock-in. If you don't want lock-in, there's the API.
This isn't egregious or wrong or anything. It's exactly what you'd expect out of a heavily subsidized product option.