This is a classic case of why you should not turn off showing surface isocurves.
Your original polysurface is a mess. The nastiness of it is being masked because of your display settings.
Select the original polysurface and in Properties, check the options for making the isocurves Visible.
This polysurface will need to be cleaned up and simplified then it should unroll accurately.
Your input just exceeded the ability of the unroll tool to cope with it.
Try rebuilding the surfaces with a few points as possible to reduce the noise.
Then Unroll should work much better.