Participants contribute inputs and receive equal-sized outputs, so an observer cannot map input to output within the round. The transaction shape itself is recognizable, which means using CoinJoin is visible even though the internal mapping is not.
Coordinator design decides who can log participation, and post-mix behavior can undo the gain: merging mixed outputs with unmixed ones re-links histories. The shutdown of a major coordinator in the linked article shows the operational dependency.