Under water / above water split view, is this possible?

I am actually having severe complications with underwater splitscreen. Normally I would render water surface stencil with front faces only. Logic becomes simple. If stencil matches, the pixel is above water, underwater otherwise. There is a small inconvenience that stock engine does not allow separate IDs for front and back faces and not allowing to write front faces only into stencil from a two-sided material. But in my case the approach is not suitable for seeing backface does no guarantee being underwater due to overlapping waves.

Comparing fragment world position Z at near plane vs displacement Z is complicated by XY displacements, namely the fact those are several orders of magnitude larger than view frustum section at near clip plane and approximating intersection does not yield enough precision at sane number of steps. Needless to say that sampling displacements per pixel at full screen several times is not something I’d ever would like to do.

What maneuvers do I have remaining, before calling it not feasible?