Bug Work Around
Apparently, certain valid pseudo-classes chained together allows it to work.
These work (see Fiddle #1, Fiddle #2, Fiddle #3):
#switch:checked + nav:only-of-type + label::before
#switch:checked + nav:nth-of-type(1) + label::before
#switch:checked + nav:nth-child(2) + label::before
This did not (see Fiddle #4):
#switch:checked + nav:not([class]) + label::before
I tried some other :not()
combinations, none of which allowed it to work.
** Best choice **
#switch:checked + nav:nth-child(n) + label::before