

Look into man 8 systemd-suspend.service
Immediately before entering system suspend and/or hibernation systemd-suspend.service (and the other mentioned units, respectively) will run all executables in /usr/lib/systemd/system-sleep/ and pass two arguments to them. The first argument will be “pre”, the second either “suspend”, “hibernate”, “hybrid-sleep”, or “suspend-then-hibernate” depending on the chosen action.
t. fellow suspend-then-hibernate
user.
No, both work for both but
tee
will yap back at you.