Thanks for the test case. The reason for this behaviour is that fogging is implemented as a per vertex effect in most chips. The fog intensity will be calculated per vertex only and depends on the distance of that vertex from the camera. When rotating the plane, this distance changes and the larger the plane, the more effect does this have on the fog intensity (simply because the distance changes are big). YOu can improve this by triangulate the water plane. For example this
water = Primitives.getPlane(10, 900);
already improves it.