For all who encounter this problem in the future: mneunteufel has the answer in his code generously shared in his response. You can edit mesh points directly (and at any point in execution) via the ngmesh.Points function:
for p in mesh.ngmesh.Points():
px,py = p[0], p[1]
p[0] = func1(px,py)
p[1] = func2(px,py)
where func1, func2 are whatever you choose to mutate your mesh.
Thanks again mneuteufel.