This is a known issue that is discussed at length here: Unsymmetric contour rendered by symmetric data.
The issue is that as an optimization step, rendering systems will divide primitives into triangles, and that causes the interpolation to change from non-simplexes. Normally the difference is minor, but when you have large cells with dramatically changing data, as is your case, then the difference is much greater.