Is storing redundant data part of the (CouchDB) self-contained data concept?
You understood correctly.  NoSQL databases like Couch trade normalization for fast reads and better availability.

Like you, I have some aversion to inconsistency/denormalization.  It's a trade off in which problems you want to be mindful of when you develop.