You can do anything and the proper way to do it depends on the feature design you want.
In your case if you have multiple ammo type belonging to your character which the weapon use, you do want to store them elsewhere than in Weapons. It makes sense since ammo is not THEIR resource but a character’s resource.
If you were to have ammo per weapon you would indeed store this weapon per weapon.
And it connects with your other question:
In your feature design you don’t need to save the amount of ammo a weapon had when it got thrown away since weapons don’t care about ammos (except if you want to keep the number of ammo it has in its clip for instance if it’s a different value than the ammo the character has).
If you do want to save the ammo in clip value, then you need to avoid destroying the weapon when it is thrown away (or to store the amount of ammo somehow).
Storing ammo in character in your case seems the right thing to do.
It sounds daunting to update when you add new type of ammo. But if you don’t it sounds okay. Another way would be to create an Enum which contains the different ammo types and use the enum to store the ammo of each type and to tell a weapon what type it uses.