How can I set shipping address same as billing?
Unfortunately, I found myself in the exact same situation.

What I ended up doing was including both the billing and shipping form on the same page but the billing form hidden. I used vue.js form/model binding to ensure the values were copied to the billing form. This way it captures two identical addresses, but at least they have the opportunity to edit the information separately at final checkout if shipping is required.