There's no way to do it without significant effort and some amount of data loss (links between work items, for example, are hard to migrate, as are links between work items and commits). Team Project Collections are intended to be completely isolated.
Unless you're directly manipulating your TFS project collection databases, you're unlikely to have a support issue. Use the established APIs and you'll be fine.
None of the tools I've tried do a great job, honestly. The fact that no one has successfully built a tool to do this should give you an idea of how hard it is to do properly.
I'd say you'd be better off doing the following:
- Make the "source" TPC read-only. It now exists only as a reference for work items from before the migration.
- Move your Git repos (clone, new remote, push)
- Move only active work items and test cases (manually or via some REST API scripting, depending on number)
- Export/import build and release definitions (again, manually or via REST API scripting).
It's going to be painful.