Should they wait until their free month is over to use the purchase form or will the system know to not charge them until after the free month is over if they just it before?
If they subscribe with a trial period, then the charge will happen at the end of that trial.
If they’re not subscribed, no charge will happen. They can be upgraded for the trial, with an EOT (end of term) time set, so they’ll be demoted. If you have s2 pro, you can have a free signup form that gives them the higher level on registration, and set an EOT time. https://s2member.com/kb-article/creating-a-free-membership-with-a-trial-period-limited-time-free-membership/
You can enable your EOT handling and set the behavior to demotion, which will change the user’s role to Subscriber (i.e. s2 level 0), meaning they still have the account and login, but they can’t view content at a higher level (e.g. level 1). WP Admin > s2Member > PayPal Options > Auto EOT Behavior
So once I’ve set up this account for a free month I’m wondering if they decide to want to start paying for membership after the free month is up how they should do that?
You show them a payment form/button for the higher level, so they subscribe. The Framework lets you create paypal buttons, Pro lets you create payment forms (e.g. with Stripe). WP Admin > s2Member > PayPal Buttons > Buttons for Level 1 Access
You can put that inside a conditional that checks the current user’s level, so you don’t show it to someone already subscribed, only someone that isn’t. If you do what I mentioned in my previous reply above, you can sell level 2, but protect content at level 1, then the conditional would check if the user’s role is level 2. https://s2member.com/kb-article/s2if-simple-shortcode-conditionals/