Moving products, customers and orders between two Shopify stores is well-trodden. The reason a store-to-store project takes real work is that almost nothing else transfers as cleanly, and the expectation set by the catalogue is misleading.
Metafields and metaobjects are the first. The values can be moved, but the definitions, their structure and everything in the theme that reads them have to be recreated deliberately. A store with a mature metafield model has a genuine content architecture, and moving it is a modelling exercise.
Application data is the second. Reviews, loyalty, subscriptions, bundles and product configurators hold their data in the application rather than in Shopify. Each one has to be treated as its own small migration, and some of them, subscriptions especially, cannot carry stored payment methods to a new store at all.
The third is the reason for the move. Consolidating several stores into one, splitting one into markets, transferring ownership after an acquisition and rebuilding on a different plan are four different projects with the same summary. What has to survive differs in each case.