span:nth-child(2n+1), SIN un <em> entre los hijos.

Los hijos 1, 3, 5 y 7 son seleccionados.

Span 1! Span 2 Span 3! Span 4 Span 5! Span 6 Span 7!

span:nth-child(2n+1), CON un <em> entre los hijos.

Los hijos 1, 5 y 7 son seleccionados.
3 se usa en el conteo porque es un hijo, pero no se selecciona porque no es un <span>.

Span! Span Este es un `em`. Span Span! Span Span! Span

span:nth-of-type(2n+1), CON un <em> entre los hijos.

Los hijos 1, 4, 6 y 8 son seleccionados.
3 no se usa en el conteo ni se selecciona porque es un <em>, no un <span>, y nth-of-type solo selecciona hijos de ese tipo. El <em> se omite por completo y se ignora.

Span! Span Este es un `em`. Span! Span Span! Span Span!