You are wrong in a subtle way. Yes, if you are doing scaling, than adding hiding using zk is almost free. Problem is - you are hiding things from literally everyone. And while it works for payment systems like zcash, it is a problem for most of DeFi. For some protocols it is impossible (there is proof that you can't do it for AMMs, like uniswap). In general case implementing zk means you need to have a separate layer of information delivery that is capable of discerning parties that Need To Know from the rest.