The messaging has usually been something like: "Annual subscription cancelled at the end of current period. Access ends on 12/31/2026" (even if today is 6/1/2026)
That's why the "cancellation fee" comment is weird to me - there's no need to message that way, since "pay the rest of the committed period" seems to be a common (and at least to me, very understandable) way to handle this.
Even with monthly services, I don't think I've ever had an immediate loss of access - it's there until the end of the billing cycle. As it should be, IMO. The only exception would be if I force-deleted my account as well as that's a very explicit "I'm done-done" signal to the service provider.