Mlocate / updatedb ignoring pruned FS and path

I want to exclude NFS mounts from mlocate’s database, but it keeps indexing files located on my remote NAS no matter what I try. I think I’m dealing with a bug, but can someone please sanity check my config and make sure I’m not doing something dumb?

Here’s everything I have pertaining to mlocate in my config:

  services.locate = {
    enable = true;
    localuser = null;
    package = pkgs.mlocate;
    prunePaths = [

That results in the following updatedb.conf; PRUNFS exludes NFS by default, but I explicitly added /home/user/data to PRUNPATHS because that wasn’t working:

PRUNEFS="afs anon_inodefs auto autofs bdev binfmt binfmt_misc ceph cgroup cgroup2 cifs coda configfs cramfs cpuset curlftpfs debugfs devfs devpts devtmpfs ecryptfs eventpollfs exofs futexfs ftpfs fuse fusectl fusesmb fuse.ceph fuse.glusterfs fuse.gvfsd-fuse fuse.mfs fuse.rclone fuse.rozofs fuse.sshfs gfs gfs2 hostfs hugetlbfs inotifyfs iso9660 jffs2 lustre lustre_lite misc mfs mqueue ncpfs nfs NFS nfs4 nfsd nnpfs ocfs ocfs2 pipefs proc ramfs rpc_pipefs securityfs selinuxfs sfs shfs smbfs sockfs spufs sshfs subfs supermount sysfs tmpfs tracefs ubifs udev udf usbfs vboxsf vperfctrfs"
PRUNENAMES=".bzr .cache .git .hg .svn"
PRUNEPATHS="/tmp /var/tmp /var/cache /var/lock /var/run /var/spool /nix/store /nix/var/log/nix /home/user/data"

However, neither prune option seems to work:

# locate 'The King of Arcades.mp4'
/home/user/data/videos/Movies/The King of Arcades.mp4
/home/user/data/videos/Movies/The King of Arcades.mp4

Returning matching results twice is also odd. It also does that for local files:

# locate logrotate.status

I’m I doing anything wrong here, or should I file a bug report for this?