Staging Workflow Advice: Headless Shopify to native Shopify migration. Build Unpublished Theme in Main Store vs Using a Separate Development Store?

I’m rebuilding a headless Shopify site (Sanity + Vercel) into a fully native Shopify theme.
The production store already has all real products, metafields, apps, and checkout settings.

My dilemma:
Should I develop directly in the client’s main store using an unpublished theme (safer, uses real data), and only create a Development Store if I need to test destructive apps or scripts?

Is moving a theme between stores easy and reliable if I need to switch later?

Looking for best-practice advice from the community.