I'd use a morphing LOD solution with tiles, e.g. vertex indices per grid point:
LOD 0:
01
23
LOD 1:
012
345
678
...
To fit LOD 1 tile top edge to LOD 0 neighbour bottom edge, you lerp LOD 1 vertex 1 to LOD 0 vertex 2 (or 3), depending on view distance.
The good is this works with any geometry, so caves, buildings, whatever. And it solves the popping problem.
The bad is you need to load 2 vertices instead one, at least near the border - quite acceptable if your tesselation is not too fine.
(The technique has a proper name but i don't remember, and i don't know if hardware tesselation makes sense here but guess not.)