Nerdy simple answer is that no, it's not a bug, it's working as programmed, but it may not be exactly optimal from a human perspective.
I'm not sure exactly how the queue searches for players, but assuming it already has basically empty slots filling two teams, here's how I imagine the situation could result, assuming the other team is already filled up.
- Assuming the algorithm simply locks in players as they come in, somebody else originally got queued as top.
- You queued with autofill and it placed you in as support.
- The person who was originally queued as top lane left the queue.
- The person who chose fill joined the queue after the algorithm placed you, and because whoever was top left, it placed him there instead.
The result is you in support through autofill and him in top through his fill position.
Implementing an algorithm that can dynamically rearrange teams while in place is incredibly hard to do, and has the potential to cause problems. The age-old adage that a machine with more moving parts is more likely to break definitely applies; it's overall better to be switched every once in a while and negotiate with teammates for the position than to trust an algorithm to rearrange teams on the fly.