Performance Basic Query Update

You should avoid primary index. https://blog.couchbase.com/primary-uses-for-couchbase-primary-index/
N1QL UPDATE always Fetch the whole document from the Data Node and writes as whole document.

Even your machine has 24 CPU, CE version of query service will use 4 CPUs only. As you fetch 0.5M documents it is taking time.
All operators works in paralell that why when you add up individual times doesn’t match total time.
When you set Parallelism some operators run by that many times in parallel each works on different document.