IMO, for measuring covering index, we should use stale=ok test. This will stress out the code path in indexer and cbq more. Stale=false is mostly depends on storage write throughput, so it is not a good indication of effectiveness of covering index (read throughput)
For stale=ok, CI2 and Q2 are about the same. But CI3 throughput is twice of Q3. This clearly shows covering index can yield better performance in typical use case (with larger row count).