I think your best bet is to move away from Dynamics if you want a functioning marketing platform. In my experience, you can't do the following:
You cannot automatically "reassign" a journey participation to a new contact post-merge.
There’s no native lookup API or interface in CIJ to get “all journeys a contact is currently part of.”
You cannot prevent merges based on journey participation (natively).
At my company, we switched to Hubspot and it was much more useful.