Hello Vitor,
If you want to save card details on the platform first then this is the correct way to set this up. You could combine step #3, #5 and #6 in one API request to simplify so my recommended flow would look like this:
1. Create a Customer on the platform.
2. Collect the Customer's card details using a SetupIntent on_behalf_of the Connected Account. This will create a Payment Method on the platform's Customer.
3. Clone the latest Payment Method on the platform's Customer, to the Connected Account.
4. Create a Customer on the Connected Account using data already collected on the platform's Customer. Also pass the id of the Payment Method created at step 3 in `payment_method` and `invoice_settings[default_payment_method]` which can all be done in one call
5. Create the Subscription, on the Connected Account, with off_session = true.
Hope this helps!
Remi