Hi Owen - I think the basic approach you show is more or less fine - but this is likely to be fairly tedious to get right using surfaces. I think I might let the surfaces you have go straight through the side of the blobs, rather than try to meet them and then use maybe VaiableBlendSrf to make the actual bridges across to the blobs from the inner things.
I would use Contour command first. Then I would break and blend the contours with the help of Blend (or BlendCrv) command and TweenCurves command. I would use Loft command to make several surfaces. Finally, I would use VaiableBlendSrf command to join the surfaces.