I have designed a number of boards recently using STM32L4 chips (432, 443, 476) and have hit one issue repeatedly.
I have used a pin for GPIO which is also used by a bootloader peripheral which, in turn, causes the board to misbehave.
This is because the bootloader has a wealth of options -- peripherals it can boot from. I am certainly not complaining about that. STM has done a great job here. However, some of the active bootloader peripherals will enable pull-downs that interfere with my needs. In my case it has caused a needed power domain to shut down and another time held a device needed during bootloading in reset.
So... my suggestion is quite simply is this: provide options bytes which allow the developer to control which peripherals the bootloader is allowed to use.
At the same time, I should note that this is not all bad news. I have also used this to my advantage. By connecting an LED to a pin that is pulled down by a peripheral activated by the bootloader, I am able to provide a visual indication that the bootloader is active.