Sorry for very late reply, I have missed this, despite the bug tracker.
In addition of setting "Allow Free Registered Users (without subscriptions)" to "No", Free plans must also create subscriptions (general setting, Global tab, "Registration settings": "Create Subscriptions also for free lifetime plans" must be "Yes").
If free plans don't create subscriptions, it's not implementable, as there is no way to detect if a (free) subscription is active.
I re-tested with this setting, it works fine, free lifetime plans and free limited-time plans are proposed when a user tries to login without any active plans.