"Pausing the booting" does not exactly apply with systemd; systemd runs multiple services in parallel.
However, by adding "dependencies" to services, you can essentially specify at which point the "booting should pause" and wait for your service.
For the use case above, add to
Description=commands to run before GUI loads
This will force
display-manager.service to wait for
<service>. In my case,
<service> involves user input (for those readers that didn't get the connection), effectively "pausing the booting".
There's also a comment below for other commenters that expressed skepticism:
There is a use-case for this kind of thing - unlocking encrypted partitions. Because of bugs in systemd (bugs.freedesktop.org/show_bug.cgi?id=88483) it's not possible to unlock an encrypted multi-device Btrfs array during boot using the out-of-box systemd mechanism. You need to create your own systemd service file and this answer had the missing bit I needed in my service file after hours of trying. Thanks argle.