I notice that there are surge marks (the dark areas around the perforation).
Do you mean this:
If so, that looks like an anomaly in the digital photo of the film strip (i.e. light bleed from the backlight). I'm not convinced they're surge marks at all, especially because along the top edge they appear in an area of the film where there is no density apart from the orange mask, and thus surge marks are unlikely to pop up very clearly. The story is a little different at the bottom of the strip, where the marks seem inverted. But even there, I think we can exclude the possibility of surge marks. Just look at the positive scan of the cat image, which doesn't show any density anomalies along the top edge of the frame, while such anomalies are visible in the photo of the negative.
Compare this (note the supposed surge marks especially above the 3 sprocket holes to the right):
To this (note the absence of any density anomalies along the top edge of the frame, which corresponds to the snippet of the negative above):
Had these been actual anomalies in the film itself, they would have shown up on the scan. See this crude inversion of the negative:
So I think this is something we can pretty safely ignore.
About hard water - it might affect the pH a bit
No worries, the effect of hard water on the pH of the developing baths is negligible. Even extremely hard water has barely any buffer capacity.
Your suggestion to de-calcify hard water by boiling it is a useful one; I would like to add the further suggestion to filter the boiled water before use. Boiling hard water tends to involve formation of scale that easily finds its way onto the gelatin emulsion, and once it's there, it's virtually impossible to remove. I'm speaking from ample experience!
I also second your advice on dealing with the water spots and remaining traces of remjet.
I remain of the opinion that the primary problem we're looking at here is underdevelopment. Whether this is due to a problem with the chemistry (formula/mixing/ingredient-related) or process control (temperature, time) is yet to be seen.