That's the entire appeal of WSL (for me). A single source checkout I can work on from both sides; no inconsistency of forgetting that I need to apply changes twice.
Without it, I can just as well ssh into another box.
I do this on wsl1 without issue. wsl2 has an experimental new virtual (or just remote?) fs you can enable but I have not tested it.
Trust me, its not worth the performance cost. Just use git push and pull across the /mnt/c boundry