Many years ago I made one of the lifelike baby dolls. Instructions were to weight the doll with balloons filled with water. Big mistake! Many years later I have a very flat baby. Water was able to escape balloons and evaporate. LOL
I use rice or beans especially if there is a risk of the 'stuffing' being released (although it may be a really slim chance) because it won't hurt kids or animals if it is eaten. Little kids and pets tend to put everything in their mouths. At leas with rice or beans they are digestible, where glass or plastic is not. If the item isn't to be used by kids or pets then I say whatever works.
I was told not to use real rice to stuff toys as it can produce bugs, especially in warm climate countries.
It happened to a lady who got a cat amigurumi stuffed with rice - I have seen the pictures and it was too disgusting for words.
I use plastic pellets or very small lake pebbles which I collect myself --- These are my preference when I crochet doorstoppers. For amigurumi dolls, I only use fiberfill and the occasional plastic base for the feet which I cut out from yogurt tubs.