It seems that it runs after all at every boot. For example, I started my system and checked afterwards:
> journalctl | grep fsck | grep 'sep 26' sep 26 19:20:41 L-5591 systemd[1]: Created slice system-systemd\x2dfsck.slice. sep 26 19:20:41 L-5591 systemd[1]: Listening on fsck to fsckd communication Socket. sep 26 19:20:42 L-5591 systemd-fsck[637]: /dev/nvme0n1p5: clean, 59131/48832512 files, 22974937/195312640 blocks sep 26 19:20:42 L-5591 systemd-fsck[664]: fsck.fat 4.1 (2017-01-24) sep 26 19:20:42 L-5591 systemd-fsck[664]: /dev/nvme0n1p1: 42 files, 10823/190976 clusters sep 26 19:21:11 L-5591 systemd[1]: systemd-fsckd.service: Succeeded.
Similar entries can be found in previous days' journal.
It seems that it runs after all at every boot. For example, I started my system and checked afterwards:
> journalctl | grep fsck | grep 'sep 26' systemd\ x2dfsck. slice. fsckd.service: Succeeded.
sep 26 19:20:41 L-5591 systemd[1]: Created slice system-
sep 26 19:20:41 L-5591 systemd[1]: Listening on fsck to fsckd communication Socket.
sep 26 19:20:42 L-5591 systemd-fsck[637]: /dev/nvme0n1p5: clean, 59131/48832512 files, 22974937/195312640 blocks
sep 26 19:20:42 L-5591 systemd-fsck[664]: fsck.fat 4.1 (2017-01-24)
sep 26 19:20:42 L-5591 systemd-fsck[664]: /dev/nvme0n1p1: 42 files, 10823/190976 clusters
sep 26 19:21:11 L-5591 systemd[1]: systemd-
Similar entries can be found in previous days' journal.