When adding an external link to a menu, dots in query parameter names are converted to underscores, even though dots are allowed in query parameter names. This seems to be because Symfony uses parse_str() to convert parameters to PHP safe variable names. See https://github.com/symfony/symfony/issues/25541
To reproduce:
Spin up a new site
Add an external link to the main menu (https://www.drupal.org?first.name=Aaron&last.name=Wolfe)
The url in the menu linkshould be https://www.drupal.org?first.name=Aaron&last.name=Wolfe
Instead, the menu item links to https://www.drupal.org?first_name=Aaron&last_name=Wolfe
This also happens with redirects, and I imagine any other place that prepares URLs with query strings.