Halving is supposed to be for the limitation of mining rewards. This is the same with the actual mining of precious metals and stones. The longer the mining is being done, the scarcer the reward goes because there is only limited resources. Just like Bitcoin, there are limited number of Bitcoins to be mined. Due to this, the value will also grow because of scarcity. This is in theory. In reality, the price is still determined by the public.
You're right, but you're missing one thing: Bitcoin's max number of coins to ever exist is known. Gold and silver's is not. Maybe one day a huge lot of precious metals will be found under the ground.. the same thing cannot happen to Bitcoin. When 21M coins are going to be mined, nobody will ever be able to recreate another new Bitcoin. Gold might be recreated in the labs one day through science, Bitcoin can't be. I do agree the price is determined by the public though, and I wonder what would the price be if whales were not into the game.