Spent some time working this out, it doesn’t seem to be documented (maybe I missed it?). So leaving here in case of help to someone else.
When the SX126x goes into sleep mode (including warm sleep, including with “configuration / context retained”), the IRQ register is cleared to zero. (I haven’t checked every bit - but certainly true for RXdone, Preamble Detected, Header Valid).
This IRQ clearing also applies to the cyclic sleep in SetRxDutyCycle (every time it cycles into sleep, the IRQ register is cleared).
These chips have some amazing capabilities, but the datasheets leave a lot of things unanswered!!