The right way to handle this is by using DABs. Instead of manually moving state or dropping down to raw Structured Streaming, you can use a bundle to deploy the pipeline configuration and underlying code to the target workspace. When the pipeline runs in the new workspace, DLT handles the state automatically by creating new checkpoints in the target workspace's UC managed storage. This is strictly by design. Depending on the source, the new pipeline will either start fresh, require a full refresh to catch up and then seamlessly resume from the new checkpoint location going forward. More details here
You can achieve this manually if DABs are not an option for your current setup. You can export the pipeline configuration JSON from the source workspace, migrate the transformation files, and deploy a new pipeline in the target workspace using the same configuration. The new pipeline gets fresh checkpoints automatically.
To isolate the data side of things, if both workspaces share the same Unity Catalog metastore, your output tables are most likely accessible across both environments. You need to recreate the pipeline definition in the target workspace pointing to those same UC catalogs, and DLT will spin up the necessary fresh checkpoints for the new pipeline ID under the hood.