Once it had a IMPRECISERR, another time there was the UNDEFINSTR.
As stated - watchdog reset cannot force a core enter hardfault - you cannot even configure watchdog to do that.
My conclusion is that your issue is
not watchdog related (consider changing the topic name to attract audience).
Once you disable watchdog only (without any changes to memory map) - does the core enter hardfault just like before? I would expect so.
IMHO watchdog triggers just because you have not serviced it in HardFault. It is not a cause but the result of some flaw.
As for SCB registers - these are to ease debugging. Heavy or not heavy interference, what do you expect the core to do when you request it to execute an op-code that is not a valid ARMv7M instruction?? Just read out an LR, read the stack and find out where that came from.
Similar with IMPRECISERR.
Due to various reasons I can't have a debugger connected to the device while it's running.
Oopsie. A debugger does all that stack analysis automagically. It seems you have to write down your own BSOD service and some logging - painful..
Or - you can alternatively connect a debugger to a running target that went haywire.