The way I understand it, the private plan will bill you $2 per active user per month, but the minimum amount bill will be for 20 users. The the base amount per month will always be at least $40. For any additional users for that month above the minimum of 20 users, then you pay an additional $2 per additional user.
You can still use a non-private app and filter by email, but that will not stop anybody else from signing into your app. Also, this will not guarantee that any app data is secure, unless you use Row Owners. Roles are another option, but they can only be used with Private apps.
I believe you would possibly be prompted to switch plans if you select a different privacy option in the app settings. Most, if not all, pricing is pro-rated with Glide.
I believe it will happen once 21 active users have accessed the app within a month. You could have 100 users with access, but if only 20 use the app within a month, then you will only be billed the base rate. If 21 of those 100 users uses the app in a month, then you will be billed the base rate, plus the amount for 1 user. I believe it is automatic.