When a ContourPlot is restricted to a region, the contour levels are still being calculated based on data values from the entire rectangular field. I think it would be more useful if they were calculated from data values as restricted by the specified RegionFunction.
The attached notebook is an example. x^3 + y^3 is plotted over the unit square, with the region restricted to an enclosed disk. But contours are clearly calculated from the unrestricted data. This is of course a simple example of another data set I'm working with.