This is still a bug. I would swear that it was fixed for a short time around Nov-Dec and then broke again.
Here is the exact way it happened just now in a very simple example. There are many more complex examples that arise from being a shield/weapon/throwing hybrid and scavenging throwing you didn't spawn with. If you throw axes, and scavenge only the same axes, you'd never see it, as you are filling ammo back into the slot, not clearing it.
Spawned with Pike and Throwing Lance. Threw lance. Went to pick up a dart, made me drop my Pike. Picked up pike, dropped dart. It appears that the problem is that a unit of Ammunition is not allowed to clear a slot 0/x of some other Ammunition, so it goes for a Pike slot instead. I can't imagine why this would be working as intended.