In the donut tutorial, the glass of water doesn't work because the water object and glass object both define their own surfaces, and those surfaces aren't exactly the same, leaving a gap between them. This is solved by making the objects overlap slightly, so there is a thin sheet of "waterglass" in the middle.
Is this really the best solution?
Does the "waterglass" sheet have the properties of the glass, the water, or some mix of the two? Wouldn't the last two cases make the refraction unrealistic?
This seems like a kludge to me, and I wonder if there's some way to define a mesh as the boundary between two volumes rather than needing one "outside surface" mesh for each boundary.