Anonymity of Bitcoin ownership a fakery?
Bitcoin isn't anonymous in any rigorous sense, and the developers never claimed it was.  See for instance https://en.bitcoin.it/wiki/Anonymity.  If someone has been telling you that it is, then indeed that is "fakery".

However, the specific issue you describe is pretty easy to avoid, practically speaking.  If John doesn't want you to know his total holdings, then he should split them across a large number of addresses.  For instance, there is nothing stopping him from spreading his coins across 10,000 addresses, each containing BTC 0.1.  (There will be some transaction fees but clearly he can afford them.)  Then he can send you coins from just one of them, and you won't really know about the others.  If he wants, he can use a mixer or similar service to further obscure the fact that those addresses were funded from a common source.