Unless you're a Big Stodgy Corporation that must have exactly your own custom flow, always prefer the Stripe Checkout flow (either new or old) over Elements. Checkout is easier to implement, provides a polished UX, and users are more likely to trust it over your custom flow.
Use Checkout unless you have a good reason not to. The main benefit is that if there is any large change in regulation (like SCA right now in the EU), Stripe will update Checkout and you will not have to change anything.