Ran into an issue with db password - not documented by XC in any way, they should have mentioned this.
6.a. If the username, password, host or database name contain any character considered special in a URI (such as +, @, $, #, /, :, *, !, %), you must encode them. See RFC 3986 for the full list of reserved characters or use the urlencode function to encode them. In this case you need to remove the resolve: prefix in config/packages/doctrine.yaml to avoid errors: url: '%env(DATABASE_URL)%'
If the username, password, host or database name contain any character - change them before the upgrade.
If you didn't change them then when upgrade process stops with error make the change in the .env.local. However encoding them did not work for me - the upgrade continued but after it was done the site wouldn't load.
So I suggest not using special symbols in there until XC fixes this issue.
https://symfony.com/doc/current/doctrine.html - scroll down to the first red square note