QSPI for shared XiP and file system
I know nothing about the K8x specifically, but you have a general conceptual problem: You have two entities competing for access to the QSPI interface, the instruction decoder and the filesystem code.

If you could guarantee that they never need access simultaneously, there would be no problem, but the fact is that the instruction decoder can require an XIP fetch at any time, even when using cache. If that demand occurs during a filesystem access, the system will lock up.

Changing settings or changing the external flash module will not help. The bottleneck is the QSPI controller itself.

As Chris suggested, the fix is to make sure that all of the code required to complete any filesystem access is NOT executing directly from the external flash module. Instead, copy the filesystem driver and anything that it depends on into internal flash or RAM (or external DDR SDRAM).