I think you forgot a comma after the third point of datos. You can generate the two intersection lines using Mesh, and then extract the primitives:
lp = ListPlot3D[datos, InterpolationOrder -> 7,
MeshFunctions -> {#1 &, #2 &},
Mesh -> {{puntoMinimo[[1]]}, {puntoMinimo[[2]]}},
BoundaryStyle -> None]
lines3D = Cases[lp[[1]] // Normal, _Line, All]
Show[lp,
Graphics3D[{Thick, lines3D, Opacity[.5],
InfinitePlane[puntoMinimo, {{0, 1, 0}, {0, 0, 1}}],
InfinitePlane[puntoMinimo, {{1, 0, 0}, {0, 0, 1}}]}]]
lines3D[[1]] /. {x_, y_, z_} :> {x, z}
lines3D[[2]] /. {x_, y_, z_} :> {y, z}