there are external factors that might greatly reduce the effectiveness of the coinjoin rounds - you have to realize it's all being done in the clear, likely using public electrum servers, bitcoin nodes don't have dandellion, etc, timing patterns, spending patterns, etc.
but I wasn't alluding to that; let's say you're a super guru and you can resson about all the pitfalls and are conscious about timinf attacks etc, so you do all that perfectly.
then yes, the link is probably broken, but what I meant is that now you don't have fresh virgin satoshis. you have coinjoined satoshis.
anyone (and to the point, anything, it will be an autonomous and automatic system that does you in) can look at the sats you sent them and easily conclude they came from a coinjoin, or an address 1 or 2 hops away from a coinjoin.
and that's what I meant: you're never private on bitcoin mainnet, because that info is stamped eternally and transparently on the blockchain.
you do manage (in the best case scenario) to break the link between old sats and new sats, but as I said, you didn't erase their history.
the history of your old sats now becomes "went into a coinjoin" (even this can and has gotten people's accounts banned, and they didn't even use coinjoined sats with the service that blocked them, but they mixed sats between sats sent and sats coinjoined, and they got a retroactive ban - this is the issue with the lack of privacy).
the history of your new sats becomes "came from a coinjoin".
the pseudonymous link between the old sats and new sats is theoretically broken, but you're always just a tiny mistske away from unraveling it all again due to the transparency.
and in terms of privacy, you had none, and you ended up with none. privacy is the selective revealing of information, and all your coinjoins are onchain, you cannot hide that.
and because you can't, it comes to bite you in the ass sooner or later.