Well the problem is your workstations have their own root, and then you remote mount the server root to /net.
When the same workstation does PXE boot, it doesn't have root, and it will mount that export to its root.
Therefore you have server root fs mounted on multiple live network devices. Bad practices aren't "all others that aren't declared good(TM)" but ones that introduce problems, technical debt. Seemingly OK at the get go, but will become problematic soon, as you can see here...
NFS does ensure locking but FreeBSD cannot operate with multiple instances using the same configuration files.
Your solution is to not export the server's root filesystem. Just like with jails, you can install another instance of FreeBSD base to any directory, so export that. As that will have its own rc.conf, you can setup the network however you want it.
When the same workstation does PXE boot, it doesn't have root, and it will mount that export to its root.
Therefore you have server root fs mounted on multiple live network devices. Bad practices aren't "all others that aren't declared good(TM)" but ones that introduce problems, technical debt. Seemingly OK at the get go, but will become problematic soon, as you can see here...
NFS does ensure locking but FreeBSD cannot operate with multiple instances using the same configuration files.
Your solution is to not export the server's root filesystem. Just like with jails, you can install another instance of FreeBSD base to any directory, so export that. As that will have its own rc.conf, you can setup the network however you want it.