I mean unless they would keep those discounts without being locked, but I don't ever see that happening.
How about just offering it both ways. Discounts if you are OK being locked to the service for the duration, or no/lesser discount to be able to leave the service early. That way everyone is happy?
I mean, you can already just forgo the rest of the discount and get unlocked whenever you want, so I don't really see the problem I guess.