I have resolved the issue in my case. It was quite a challenge to find!
In our system we use FlexNVM for "Eeprom". It works fine on power-up, and when starting the application.
But for some reason, when jumping to the bootloader from a SW reset call (as per the above SCB_AIRCR = 0x05FA0004; line) it would BusFault; the Precise error was an address in EE of the first access - a EE read.
It turns out that the EEE state machine starts by copying data from flash to RAM, and for some reason this wasn't happening before the first access was invoked, hence the requested address was not available (therefore Bus Fault).
The actual fix was to add a EE Ready Check before every EE write AND read function:
while(!(FTFE_FCNFG & FTFE_FCNFG_EEERDY_MASK));
(This check was formerly done after each EE write only, so left things open to a race condition).
Helpful information found here: https://www.nxp.com/docs/en/application-note/AN4282.pdf
I hope this helps someone. Cheers.