I think I figured it out by turning on the logging..
WARNING: Stripe PHP library conflict! Another Stripe PHP SDK library is being used. Please disable plugin or theme that provides it as it can cause issues during payment process.
Library path: /…/public_html/site/wp-content/plugins/otter-blocks/vendor/stripe/stripe-php/lib/Stripe.php
Disabling Otter blocks fixes it, now I need to see what I was using those blocks for!