Provide Event to modify Site configuration
TYPO3 should provide a way to programmtically enhance the Site configuration right after it was read from the YAML file(s) and before it is cached (i.e. here: https://github.com/TYPO3/TYPO3.CMS/blob/abfef0336cb0d25335ace900df385e98d2951820/typo3/sysext/core/Classes/Configuration/SiteConfiguration.php#L172).
My first approach was using a middleware that modified the site config after it was initialized, but that can only modify the configuration of the current page. The configuration will be initialized again for the
$siteOfTargetPage when you link to a page for example.
My EXT:dynamic_routing_pages programatically provides the page ids for routes, that otherwise are hardcoded. Currently I have to use an Xclass to achieve it.
Also other extensions could provide site configuration programatically, e.g. determining the root page, languages or project specific options.