Solution:
But to answer the question:
The payment/member workflow was failing because my local dev machine doesn’t have SSL. The payment looked like it processing fine in Stripe, yet there was no indicator from the plugin (or elsewhere) that it was failing due to lack of SSL.
Once SSL was enabled, it worked as expected.