I would guess that Buffalo had Worthy, Mitchell and Legette all with the same grade, and did not favor one over the other two and maybe even a 4th WR left on the board. They gambled that even with the trade with KC that one of the WR would still be there at 32 so they picked up a 3rd and gave a 4th and dropped down. Then Carolina called and repeated the process wanting the Legette kid and was willing to trade up one spot and give Buffalo another draft pick.
The Bills take Mitchell or some other WR they like as much with the first pick in the 2nd round, and got 2 extra draft picks to upgrade their team. Smart drafting by them and understanding the wants and needs of other teams and then making it happen.
As a Chiefs fan, I was hoping for either Mitchell or Legette, over Worthy, kid can fly but is very small and can he stay healthy. I guess we will find out.