MMmmmhhh, in fact, stdout is captured, and can be seen in qmeventd logs (journalctl -fu qmeventd). But, only post-stop hook is fired. No trace of pre-start, post-start, pre-stop. I've simplified my script to be only
#!/usr/bin/perl -w
use strict;
use warnings;
print "GUEST HOOK: " . join(' '...