This is by design and should (or will be) part of the documentation. Standard pause issues a feed hold which pauses movement immediately even if there are movements planned - those movements will happen once the hold is resumed. Feed hold prevents further g-code commands from being executed, which also means that gSender cannot inject any code.
Pause events stop sending on the software side (sender hold) so no further lines are sent but that also means than any planned movements already in the buffer complete - it’s something that can’t be avoided on the firmware side and this is a compromise to be able to execute code at all.
Other firmware’s have ways to handle pause code execution - but for now this will have to do for anyone who wants to execute code on pauses.