After I corrected the order (X then Y then Z) - there was a transpose operation in there. After that the shape of the array was incorrectly reported to vtkStructuredGrid. In particular, the data was (21, 21, 51) but I told VTK (21, 51, 21) … so that was a disaster.
Thanks for your help.