As far as I know, the double tilde has no special meaning. Dune interprets it as a version “number” the same as any other & emits an .opam file to that effect.
Opam adopts Debian’s versioning policy, which uses ASCII-like lexical comparison with the modification that tilde characters sort before all other characters, including the empty string. (This has the convenience of making e.g. 1.0.0~alpha sort before 1.0.0.) In this light, the version number “~~” is just a particularly early version number – earlier even than "".
It was likely picked to mean “TODO: set lower bounds later”, but I can’t speak for the author
That’s the correct answer. As far as I know dune forces me to be explicit about dependency versions, then when I’m too lazy to check them I’ll just write a constraint that is basically always fulfilled.