I think I found a workaround. Turns out that the “Default Customer Location” setting needs to be set to “Geolocate” in the WooCommerce settings general tab. I was still on the default setting of “No location by default”. I’ve been trying to figure out what was wrong for the past few days and of course I only find out after submitting for help (go figure).
If this is a #featurenotabug, this should be documented somewhere. The documentation on the Stripe website, WooCommerce plugin page (and associated doc pages), and WordPress plugin page don’t mention this explicitly anywhere (at least nowhere that I’ve seen). Otherwise I can provide a full stack trace from the error if that will help narrow down where this bug is occurring.