zfs is mounted after mongod starts: how do I set the boot order?

I had a very similar issue with another service, which wanted to start before its files, which are on a ZFS dataset, became available.

I solved it with a very simple systemd override. You can do the same:

# cat /etc/systemd/system/mongod.service.d/zfs.conf 
[Unit]
Requires=zfs.target
After=zfs.target

After a sudo systemctl daemon-reload (or of course a reboot) this will take effect. Enjoy!

Remember not to edit the systemd unit shipped with the package, as your changes would not be preserved when you update the package. Use override files (e.g. as above) instead.