The kernel is able to mount NFS shares, otherwise you couldn't use an nfs client in normal operations. No recompiling is necessary and not recommended.
With that being said, the immediate things that stick out to me is:
* You are missing selinux=0. A diskless client (which is what you're setting up) cannot run with SELinux enabled if the root disk is on a network filesystem. There's no other way around that.
* You are using the kernel itself, and not pxeboot form of the kernels (you should be using the pxeboot/vmlinux and pxeboot/initrd.img files found on the ISO's or
dl.rockylinux.org/pub/rocky/9/BaseOS)
I would suggest doing those and then troubleshooting further.
-L