This rule does not apply to {x,y,z} alternations in the glob pattern. The documentation I could find isn't great on this point, and its language is generally in terms of filenames. But I'm 99% sure it's not a bug. I've seen tons of uses of glob in this way on PM!
BTW, the same behavior should happen in your shell (though it may be a different glob under the hood).
$ ls {x,y,z}
ls: x: No such file or directory
ls: y: No such file or directory
ls: z: No such file or directory
First, glob expands {...} and then it checks the filesystem to expand * and ? and the resulting pattern(s).
$ ls *{p,q,r}
ls: *p: No such file or directory
ls: *q: No such file or directory
ls: *r: No such file or directory
|