But tweaking P is mandatory to ensure security.
Small correction, and it applies to how I worded the OP too (athanred caught the same thing below). The tweak isn't actually mandatory. Nodes can't tell a tweaked key from a plain one, so an untweaked output is perfectly valid. BIP-341 just strongly recommends it.
The reason is more about theft than privacy. Say three people combine their keys into one shared key. If nobody tweaks it, one of them can craft their part so the shared key secretly has a script hidden inside that only they can use, and the other two would never know. Tweaking the key with its own hash is a way of showing there's nothing hidden in there. That's why the chapter says "should" rather than "must".
However actual catch is if this depth is too great then size of control block will shoot up abruptly.
Yes, m is the depth, and you're right about the cost. Every level down the tree adds another 32 bytes to what you have to reveal. If you only have one script and nothing to hide, Taproot's script path actually comes out a bit more expensive than old-style P2WSH, because of that extra 33-byte control block. The smaller signatures and keys win some of it back, but not all.
Where it pays off is when there are several possible ways to spend. P2WSH makes you publish all of them every time. Taproot publishes only the one you used, plus one hash per level. The BIP suggests putting the branches you expect to use most near the top of the tree, so the usual case stays cheap. I agree a lot of people designing these don't think about depth until late.
The part "a Taproot output is the public key itself" is probably inaccurate
I think we're saying the same thing two different ways, and my sentence was the unclear one. The page you quoted says the tweaked public key goes into the locking script. That's right. All I meant was that what sits on the chain is a key and not a hash of a key, which is the difference from the older 1... and bc1q addresses.
On the quantum side athanred explains it better than I did. If someone could work out the private key for that on-chain key, they could simply sign and spend. They wouldn't need to know the original internal key or anything about the script tree, so the tweak doesn't add any protection there. I've reworded that line in the chapter to say "the tweaked output key, rather than a hash of one" so it doesn't trip anyone else up. Thanks for pointing it out.
Anyway, all keys from HD wallets are "tweaked", just in a different way
Agreed on all of it, and that last bit is a good way to put it. HD wallets derive child keys with the same kind of addition, so the trick is a lot older than Taproot. Taproot just uses it to commit to scripts.
Thanks to all three of you for reading it this closely. If anything else looks off, say so and I will fix it.