Just a guess, but sRGB would use more precision for the green range (where human perception is better). This image is all blue, and therefore gets less precision. I’m surprised dither has no effect at all, though… that’s the most common fix for banding.
There shouldn’t be any
texture.color property, I’m not sure what you mean here?
Do you see the same problem with post-processing disabled? It doesn’t seem correct to be using both
renderer.outputEncoding = THREE.sRGBEncoding; and a post-processing gamma pass. See color space management in three.js.