Thanks for the answer, I agree it's not smart to mess with .net core logic, but if it's possible to move files it's good enough.
The solution worked just fine, though there is still solution level ncrunch files, but they are not a problem since they can just be gitignored and are not included in projects.
Since that seems like something that everyone will want to have for every .net core solution, maybe it makes sense to have it by default with e.g. "_NCrunch_ProjectFiles" or something like that alongside "_NCrunch_SolutionName"? It's not too complicated to do it for every solution, but is there any drawback by having NCrunch do it by default?