0 - empty glass, whole object has a material with IOR value = 1,55
1 - glass with detached, capped polygons inside, the inside object has an IOR value of 1,33
2 - glass with detached, capped polygons inside, the inside object has two materials: IOR 1,33 for top, IOR of 1,16 for sides
3 - full glass geometry with an additional water object inside (overlapping faces)
4 - full glass geometry with an additional water object inside. The water object is a bit smaller than the inner part of the glass which creates a tiny distance between the two surfaces (used Push modifier).
+reference photos
Conclusion: version 1 is the most realistic and physically correct. I should always listen to Keymaster and stop being an asshole. Corona is awesome.
But really, I remember doing something like this in some other renderer and it was necessary to make a surface with IOR 1,16 and flip normals. I'm glad this works fine in Corona.