What is the current best/popular approach for fog and objects like water that don’t render to depth buffer?
Integrate the fog effect into the shader itself. If it’s a surface shader, usually it just needs to include the fog pass into the finalcolor modifier. Or if you don’t mind to use stock materials that support fog, take a look at our package Dynamic Fog & Mist which includes a collection of shaders with fog parameters controlled by a single global script.