That's it. Using the notation pallet works. Typing it doesn't. There's a ParsedBoxWrapper[] function revealed in raw input form,...
Symbolize[ParsedBoxWrapper[OverscriptBox["x", "_"]]]
Documentation for ParsedBoxWrapper[] is comically circular. But it has a Tech Note link to a tutorial that explains everything:
Complex Patterns and Advanced Features
I'm not sure, but I think it is not possible to create a variable with a typeset name like h2o in Wolfram language. If someone knows how, please reply.