Same error here, except that the Linux instance is running in a virtual machine (QEMU). Adding -o nfsvers=3 does not help; mount -v clearly shows that protocol negotiation is occurring and successful.
The problem is that the mount request comes from an unprivileged port; putting
nfs.server.mount.require_resv_port = 0
in /etc/nfs.conf on the Mac and notifying the running server (sudo nfsd update) fixes it for me.
Note: here is what the man page has to say about that option—and its security implications:
nfs.server.mount.require_resv_port
This option controls whether MOUNT requests are required to
originate from a reserved port (port < 1024). The default value
is 1 (yes). Many NFS server implementations require this
because of the false belief that this requirement increases
security.