Spent some time tinkering with shaders. It was fun but also hard to come up with something actually usable in the game.
Ended up with a subtle effect which is blended on top of the pre-rendered water surface. It doesn’t tile properly but the seam is hard to notice so I’m fine with it.
I also tried distortion for the bottom layer but UV wrapping is a problem because the tiles are in a texture atlas. Putting tiles in an array texture instead of an atlas would give me more options. Maybe next time…