Another update for anyone still interested in this :) My gauge calibration was off. The surface of the water was 70°C with the IR gun but I measured again with a proper alcohol bulb thermometer and it was more like 90°C in the interior where the sender was.
So my sender and gauge was OK: 90°C for N. I then tested boiling water and found that 100°C was about halfway between N and H. That would put H at about 110°C. These seem to correspond fairly well with IR temps on the head.
I got a new solid-state VRU anyway, which I measured to be 9.97V. The sender and gauge gave similar results, so I think the old VRU was probably OK.
Then I thought it was still running a bit hot. I changed the water pump (old one looked fine) and the bottom hose (it looked a bit kinked so I got one with a better bend in it). No effect. Running out of ideas I upgraded the rad to the Moss "performance 3 core" (GRD4442TDF). I had been running the "standard" GRD210.
Curiously the "standard" GRD210 looks like it's 3 core as well. The cores look very similar. The "performance" one may have bigger tanks though. But some of the tubes in the "old" one (it had only been on there for 100 miles or so) looked a bit blocked. It took a while to boil all the rust flakes out of the engine from sitting for 25y maybe. The coolant looks much cleaner now so fingers crossed.
I'm now now getting fairly nice normal temps on the gauge-- usually a bit above N though. However the weather has also cooled down a little bit. Searching around it seems that the cooling power of a radiator is proportional to the temperature difference between the hot water and the outside air. This means that if the weather is 10°C warmer then under the same conditions your coolant will be 10°C hotter (assuming it's all limited by the cooling system, and not the thermostat, which in summer in a Mini it probably is).
10°C on my gauge is about 1/4 of the scale. So quite a big change, and we did have temps of nearly 30°C when I was first messing around with all this.