Instead of adding additional features, the beta's end would remove the premium features that some people may have come to rely on.
Yes, this is a bad idea.
The core problem is that you're wasting your users time. If you have a service that is valuable to a user, then the user is putting in effort to enter all of their data.
I know it's easy to think "hey I'm paying for hosting this user's data", but from the user's perspective, they too have been paying with their time.
Have there been examples of this executed successfully or otherwise?
The only reasonable way to implement this is to mark the future Premium features as premium during the beta. You can remove features if you tell your users that they will be going away in advance. Also, you will want to set a hard date on the feature "expiry", otherwise users will just avoid the feature because they won't want to lock themselves in.
Honestly, even then you will be getting some complaints, but at least those complaints can provide a reasonable ground for selling the user on the upgrade.
Is this a bad idea?
However, even if you warn users about things "going premium" in advance, you will still get some backlash.
For example, if you beta a premium feature but don't set a price in advance, users will be really angry if they feel the price is too high. Of course, if you set the price too high in advance, they you may destroy uptake of the feature. Conversely dropping that price will require refunding early users who may be angry. And a history of dropping prices will cause users to become skeptical that you are not just yanking their chain.
Other users will be annoyed that they gave you free testing only to be locked out of the feature they tested for you. So you'll need to consider "grand-fathering in" your beta users.
In any case, you can already see the mess developing here.
So honestly, I would avoid this approach as much as possible.