The point of D5430 was to make hg help output more human friendly by replacing True and False with something less Python-related. In other words, more human-friendly. "Yes" and "no" are way more human-friendly:
- they are one of the most used words, so people naturally expect to see them, and can tell them apart from just "y" or "n" (they are also less ambiguous themselves — just look up how many meanings "on" or "off" has and how many parts of speech can they be),
- they also work perfectly fine as answers to the flag descriptions (Consider hidden changesets? Yes, please. No, thanks.),
- and "no" (more precisely, "no-") is the very same thing that users should add to the flags to negate them (not "--off-hidden").
Arguments against yes/no:
- "default: yes/no" can easily be read as "is this a default", which is not quite the same, although it would have the same effect.
- On/off fits well in sentences like "is --hidden on by default".
I see your arguments too (mostly the last one of them), but I still slightly prefer on/off.