Annotated image of how \expandafter is processed.
  1. The first step ① starts with the first \expandafter and "jumps over" \docsvlist to the second \expandafter.
    \expandafter \docsvlist \expandafter { \mylist }
     
     
  2. The second step ② starts on the second \expandafter and jumps over the open curly brace { to \mylist.
    \expandafter \docsvlist \expandafter { \mylist }
         
         
  3. The third step ③ replaces \mylist with its replacement text (one-level expansion).

    \mylist
    Parrot,Canary,Zebra,Arara,Duck

  4. The fourth step ④ returns back to \docsvlist after the first \expandafter.

    \docsvlist{Parrot,Canary,Zebra,Arara,Duck}