They do cancel each other out. If the value change is predictable, it will be bid into the price, regardless of the source of the change in value.
That doesn't work. Assume that we knew with 100% certainty that the value of each Bitcoin would increase by 5% a year due to deflation forevermore. Then the value of each bitcoin should take into account that in a years' time it'll be worth 5% more - except that the value in a years' time will also take into account the fact that it'll be worth more in 2 years' time, and so on, and so forth - and the only rational value for a Bitcoin now would be infinite. This is obviously ridiculous.
Of course, there's no such thing as 100% certainty, but this doesn't help either. Assume that we have the same consistent deflation but we're only 95% certain that the situation will be unchanged in a years' time. Then the current price will take this into account - except that, if our prediction comes true, a year later we'll be 95% certain that in another year things will stay the same, and the price then will take this increased certainty into account. The two cancel each other out, leaving us with a 5% increase in the price of Bitcoins corresponding exactly to deflation!
I hope this helps demonstrate why the expectation of future deflation is irrelevant and only
changes to the expected future deflation rate can possibly have any effect.
Why do you hoard your $100 bitcoin if you know that it will be worth $120 in a year? Likely answer is so you can buy something in a year when your money is worth $120, meaning your money will have 20% buying power 1 year from now. What's to stop you from buying now if the merchant simply took the 20% deflation into account, and gave you a 20% discount on the item today?
Two things. Firstly, they probably can't: they have to pay their costs now at current-prices, not in a year's time. More importantly, what's to stop you buying in a year's time from a merchant that takes the 20% inflation into account
then and saving even more money?