https://www.mathworks.com/matlabcentral/fileexchange/20266-quadmesh-quadrilateral-mesh-plot can do the plotting once you have a quad mesh.
The problem is that boundary() is defined to return a triangulation. And the triangulation is obviously not very close to what you hoped for.
Have you experimented with different s parameter values for boundary() to see if that gets you a more pleasing triangulation?