So the issue is a documentation bug, and my explanation is how GHC is intended to operate. The linked proposal includes a little additional context, including a short paper, Type variables in patterns (published at Haskell ’18). Mystery resolved—though the docs still need fixing.