Saving as vtk and saving as an array does fundamentally different things. This has for instance been covered in: Mapping from mesh.coordinates() to u.vector() - #2 by dokken
Without a minimal reproducable example it is hard to give any more concrete advice.