Closing this one myself as I’ve solved by now. There were two issues: incorrect file format and paraview bug.
I was writing the incorrect data in binary format at the end of the file (you can see the original binary strings are different from what is in the appended file. This was an easy fix.
The corrected file was still not being loaded into Paraview without throwing an error despite being read in other vtk based viewers, but this seems to have been related to another bug as mentioned in this post.