Update...
The attached notebook shows a workaround (scroll down to the notebooks penultimate section). The workaround is far from ideal. But it does at least work as I expect. And seems to suggest that there may be a bug in the way that RegionFunction is working in ListContourPlot.
However, I'm still not wholly convinced that I'm not doing something wrong and would welcome any comments. Especially from Wolfram insiders who might be able to confirm whether or not there's a bug.