I don't have the time or energy for a full answer, but this won't fit into a comment, and is better than nothing, I guess. The behavior you want is probably how beziers with auto handles work:

You can control the smoothing by scaling the handles, that is, moving them towards or away from the point they belong to:

Question is, how to apply this behavior for a 3D mesh? I'll outline the algorithm, that I think can work:
- Assume quad-based manifold topology for simplicity. Perhaps the algorithm could be improved to support triangles and n-gons…
- Subdivide input mesh, using simple subdivision.
- For each face of unsubdivided input mesh, predict where the intermediary vertices will be using linear interpolation between the vertices and find the indices of those vertices using the "sample nearest" node (that's why the mesh has to be manifold because with overlapping geometry you could have 2 vertices at the same place).
- Walk through the mesh, using the Repeat Zone, in order to separate loops of edges, and then convert them to curves.
- Subdivide the curves with same resolution as in p. 1.
- Convert the unsubdivided copy of curves to bezier, set spline handles to AUTO, adjust handles if needed.
- Set bezier spline resolution to match the topology (resolution) of the subdivided curves.
- Convert the beziers to mesh and loft it, by spawning 1×1 grids, subdivided with the same resolution as in p. 1., and moving the points of the grids by taking the found indices in p. 2., from them, finding the points of subdivided curves (which is easy because they have the same position), and then using the indices of those points, reading the position of the bezier points with same indices.
- Merge by Distance.
I haven't tested it, so maybe I'm missing something, it's an elaborate setup, and perhaps you want to test something different, e.g. a simulation that applies subdivision surface on original geometry, checks how the points moved, based on that move these points along normals forward/backward, and try to subdivide again - might give you a good enough result…