We still use submodules in a number of places at work so it’s a bit of friction for me. Other than that, I’m rapidly becoming a jj convert.
It actually works quite well and has never caused me any issues. I tried symlinking but that does not work, git doesn't like the .git being a symlink.
Relatedly, when I use filesystem paths as remotes they need to be colocated or else it doesn't work, which is a little annoying!