However, I can confirm that DIR /S doesn't enter directories starting with that character - TIL!
From reading the source code[1], this happens because it requires the name to be alphabetically below something called the "temp name", which is initialized to start with this character.
What the code seems to be doing is selection sort, finding the first (alphabetically lowest) subdirectory that hasn't been entered yet, by reading the entire directory each time and comparing all the names. Not very efficient, but excusable if it saved some memory.
[1] https://github.com/Hengle/ms_dos_6_0_source_code/blob/master... -- temp name init is at line 1767