I'm asking this here because there are both smart people in this Discourse and a variety of brands of printers and firmware (while this is primarily a Marlin question).
Cura has a series of post-processing gcode scripts one of which is Pause at Height. I've modified this to be Pause at Height or Layer which means I have a vested interest in it. In this script, gcode is injected into the stream that includes the sequence:
M104 Stemp ; Standby temperature
M0 ; Stop (press LCD to continue)
M109 Stemp ; Resume temperature.
While the Marlin documentation for M0 doesn't mention heaters or motors at all, the RepRap documentation for M0 says all heaters and motors are turned off which is not ideal (and makes the M104 command kinda useless). M0 is "resumed" by pressing the LCD button.
The only other pause command that I have found is G4 Sseconds (or G4 Pmilliseconds). The problem with this one is that the LCD button doesn't break out of the pause.
Have I missed something? I want an LCD button controlled pause that doesn't turn off the motors and heaters.