Messy, very messy on 3.3beta2. When using M600 the delay before refilling the syringe is longer (as expected from comments in the gcode wiki) and the resume.g gets interleaved into the main gcode stream after the resume happens, along with odd error messages about bad commands which indicate it has broken the reading of the gcode too.
The only way to get the above system to function well is with the contents of pause.g and resume.g commented out, and things are quicker with M25. I'd guess the length of the increase would likely be very build gcode dependent putting more emphasis on the parsing of gcode.
I think the bug report on needing to ensure trigger files (and any additional macros that they may call) are run in their entirety before running back to the build gcode needs to be investigated:
https://forum.duet3d.com/topic/22338/bug-ways-to-ensure-gcode-within-trigger-is-uninturupted