A different approach, where the shape of the pond is extracted from the mesh line primitives:
pr = ListSurfacePlot3D[allpoints,
PlotRange -> {All, All, {-130, -45}},
MeshFunctions -> {#3 &}, Mesh -> {{-45}}]
lns = Cases[Normal[pr[[1]]], Line[{{_, _, -45.}, __}], All];
Show[ListSurfacePlot3D[allpoints, MeshFunctions -> {#3 &}],
Graphics3D[{Opacity[.5], Blue, Polygon @@ lns[[1]]}]]