Volume itself was working, but buggy. The issue was that transparent shapes does not write to depth buffer. But the custom MSAA resolve shader discard pixels that did not write to depth making them transparent. Transparent passes should not be inside the MSAA passes, this is also a matter of performance.