Each time the M4 is reset, the 512k ROM dump (/m4/romslots.bin on the SD) is loaded into ARM's flash, if I understand correctly.
The romslots.bin is only used when a new rom is added/changed, rest of the time the ARM flashrom keeps the rom.
It's used when reflashing, because the sector erase on the ARM flashrom is in 128KB size, and I do not have 128KB (available) RAM to store its contents in when erasing and rewriting a sector. So its kind of shadow file.
SOS is correct about the M4 rom, it is loaded into the ARM's RAM, so it can change dynamically, there's even a command to write to the ROM contents. Same goes for the "HACK menu" rom, its also stored in RAM.
As for combing all rom slots of XMEM and M4 is to either use slot 7 for the M4 rom (as XMEM does not map it, but some CPC's dont like it) or yes, hacking the modified lowerrom to use a higher slot.