Yes, Monero has strong default privacy that is better than Bitcoin (much cheaper, simpler, and quicker too). I don't think this is even debatable. Coinjoining is only obfuscation - a weaker form of privacy vs encryption. It can be deobfuscated with more data or future mistakes from the user. All connections and amounts are visible.
While ring signatures are also obfuscation - this is only for the sender. With Monero amounts and recievers are completely hidden. The transaction graph doesn't exist on Monero. Simple example:
Monero transaction: Maybe Alice sent $[?] to [?]
Bitcoin default transaction: Alice sent $X to Bob
Bitcoin coinjoin transaction: Maybe Alice sent $[X or Y] to [Bob or Charlie]
Monero achieves this with 3 layers of privacy for senders, amounts, and recievers. It uses ring signatures, confidential transactions, and stealth addresses respectively. Dandelion++ also makes it very difficult to find the IP origin of a transaction even when not behind tor or a vpn.