I'll preface this by saying that my experience is largely with the Inspire, but I believe some of it is also true for the Mavic.
The specs are that vertical stability is maintained to +/- 1 meter. Since we know that the sensors can trigger autoland OR push it higher than you want to fly, turning them off and skimming along at 3' high is inside the margin of error for the Mavic to actually touch the water. As it gets closer the propwash will kick up some spray which can also effect flight.
On glassy-still water with no wind, this is less likely to be a factor, but in those conditions it's impossible to "see" the water via FPV, and as the drone gets further away, height is impossible to judge flying VLOS.
My method for getting close is to first note the water level by hovering close by to within a foot of the surface (this will usually be a negative number), add 4' to that number and call that my absolute "floor". If there are wind and waves I'll adjust accordingly to a higher floor.
It may not be the most daring flight level, but in 300 hours on the inspire, I never lost it, and i did almost half my flying over water, much of it beyond VLOS. With the Inspire Pro, you're always conscious that a crash on water is a $4000 loss, hence the caution.
I'm a little more daring with the Mavic; it's one of the things I like about it. Less to lose, plus flying with even greater abandon, having refresh