There are ways around this for advertisers.
For example, the campaign_id in the screenshot above could easily be the actual identifier for an individual. campaign_id=1 could be Dave Smith. 2 could be Jane Doe. 3 could be Rob Smeghead, etc.
Also, you could tailor every link to go to a specific page, i.e. https://example.com/page1 is for Dave Smith, page2 is for Jane Doe, page3 is for that Smeghead guy.
By moving the tracking from the link to the website itself, Apple can't stop it. The nefarious advertisers will always find a way around this.
(NB: This only applies for companies doing their own advertising.)
Nope, that's not how it works. Everything before the ? in a URL is a unique identifier to a page (or web resource). Anything after that can be arbitrary and doesn't affect the URL, unless the website itself is looking at (or querying) the query string.
This means that advertisers can tack on their own query parameters onto any URL without changing the URL itself. The website will only see what it needs, and ignore the rest, while the advertiser can pick up the parameters that they added.
An advertiser can't invent their own URLs for a website. They'd be pointing to a resource that likely wouldn't exist.
I'm curious how Apple's feature determines which parameters can safely be removed? As a website developer, I haven't used query string parameters in 20+ years because they are ugly, but any existing websites still using query string parameters for functionality could theoretically be broken by this feature.