I took the stainless elbow down and, heeding the advice here, studied the surface of the heat exchanger carefully, congratulating myself that it looked pretty damn good...

...until I realised that was the old gasket... on taking that off I was greeted with this horror:

I had thought it was blowing from the bottom of the elbow, the above backs this up - galvanic corrosion had eaten through the bottom of the exchanger, and around the mated surfaces!

Once cleaned up, we have the below:

The good news it, it hasn't eaten through to the engine. How on earth do I fix this? Take the heat exchanger off and take it to an engineering shop to fill that in?