Non-nixos-gpu.service is not detected in Arch Linux when /nix/store is not on the same mount point as '/'

Related mount points:

PARTLABEL=linux	/	btrfs	defaults,compress=zstd,subvol=/@	0 0

PARTLABEL=linux /nix btrfs defaults,noatime,compress=zstd,subvol=/@nix 0 0

PARTLABEL=linux	/home	btrfs	defaults,compress=zstd,subvol=/home/@,x-gvfs-trash	0 0

PARTLABEL=linux	/var	btrfs	defaults,compress=zstd,subvol=/@var	0 0

PARTLABEL=esp-linux	/boot/efi	vfat	rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro	0 2

# ...

I’ve tried placing non-nixos-gpu.service under @var and /, but only the latter worked. I believe the reason is that /nix is not mounted when systemd starts the service, causing non-nixos-gpu.service (under /etc/systemd) to be considered as a broken symlink. If you manually execute systemd daemon-reload, systemd will then detect it.

How can I use non-nixos-gpu while also having /nix as a separate btrfs subvolume?