Thanks for sharing this. I think the best option may be to force the use of legacy PDBs under NCrunch for this project, while keeping the portable PDBs for your normal build system.
Could you try adding a
custom build property for this project with: DebugType=full
I'm hopeful that this will get you up and running again (with the exception of the limited async stepping behaviour). I think that to progress beyond this to fully understanding why this is happening will require a way for me to reproduce this problem in my own environment, which doesn't seem feasible given the effort you've described. The process explorer logs are very insightful but they don't show any write interference with the PDB file outside of windows defender (which I don't think is causing the problem).