I have two sites (Site A and Site B) on two domains. On both sites the same GA tracking code is set up and on Site A the "linker" is enabled for multi site tracking as explained here.
Site A is a landing page while Site B is the page where the product can be bought.
If a user enters Site A on
https://siteA.com?utm_campaign=foo&utm_source=3rdparty
and clicks a link on Site B with
https://siteB.com?utm_campaign=bar&utm_source=siteA
Will the utm_campaign on the checkout always be "bar" or will it be "foo"?
Do I have to remove the utm_* on the link on Site A to preserve "foo" or do I have to rewrite the parameters to keep them?
It should be "foo" if the user is coming from the "3rdparty" and "bar" otherwise.
In your scenario 'utm_campaign' will be bar.
However in cross-domain monitoring **you don't have to use *utm_****, otherwise it doesn't make sense to talk about cross-domain tracking.
Every time you move from one site to another through the utm, you stop the current session and generate a new one... while the purpose of cross-domain tracking is to understand how the same session moves between the two sites.