Hi @ahblake,
The rule is at least mentioned for variable names, mentioned here: https://docs.getodk.org/xlsform/#the-survey-sheet, same for choice names, see https://docs.getodk.org/xlsform/#the-choices-sheet and in the new ODK Template , see ODK XLSForm Template.
Also here: https://xlsform.org/en/#setting-up-your-worksheets
Names have to start with a letter or an underscore. Names can only contain letters, digits, hyphens, underscores, and periods. Names are case-sensitive.
There has also been previous discussions, as you mentioned above and e.g.
Error: is an invalid xml tag. Names must begin with a letter, colon, or underscore, subsequent characters can include numbers, dashes, and periods.
Unfortunately, the XLSForm Online validator is not checking for choices name syntax (except warning for duplicates)! It only checks the names in the survey tab, giving an error like this:
Error: [row : 4] Invalid question name [WallElement’01] Names must begin with a letter, colon, or underscore. Subsequent characters can include numbers, dashes, and periods.
So, here even colon seems allowed.