I wouldn't do that. First thing to overcome is selecting filesystem that will be supported properly by both OSes. Second, a lot of apps store their configurations in users home directory. What if you have different versions on both systems?
If you want to share some 'data' (application agnostic) between FreeBSD and GNU/Linux maybe you should have some other 'data' partition that can be mounted under $HOME, something for images, documents, media, projects etc.
The question was about a "network disk", so there's no (local) filesystem issue.
Talking about files accessed simultaneously by multiple machines is not much different than files accessed simultaneously by multiple processes on the same machine. File locking is not perfect (and has some extra issues with NFS), but largely works as expected.
In fact, /home is a rather typical candidate for placing on a network share (if you have some central authentication in place as well, like e.g. ldap, winbind, ... or manually keep user accounts in sync, the UIDs should be the same on all machines for this to work well). As for configurations that should be local to a machine, applications are expected to place them somewhere below ~/.local. If you want them local indeed, just create additional local "home directories" in the same path on every machine (e.g. something like /usr/home/local/$USER) and symlink them to ~/.local.