I didn't mean the main topic of that thread, but what Jason explained about how he did the Stripe integration:
"s2Member intentionally charges the first payment in real-time to avoid passing the first charge off to Stripe as a part of the Subscription. Then a Subscription is created that is set to start X days later, according the billing plan configured by a site owner."
"My experience with Subscriptions in the past is that they don't always report failure on the first charge in real-time, which is why it's not done that way."
"We charged the customer for the first time already. The intention is just to offset the start date of the 'Subscription'. That's done using trial_period_days, because it's the only option we have in terms of altering the start date."
I wonder then if this offset could be causing a problem with a subscription set for a number of payments, like you're experiencing, instead of an ongoing one until cancelled.
This line seems related to it: s2member-pro/src/includes/classes/gateways/stripe/stripe-utilities.inc.php
'trial_period_days' => $trial_period_days ? $trial_period_days : $interval_days,
You're very welcome to look into it. The Stripe integration files can be found under s2member-pro/src/includes/classes/gateways/stripe/
I look forward to your update.