Hello, great demo!
I think for for the emission-absorption exercise the blending parameters for the material have to be updated because of the pre-multiplied alpha.
Here are the values that handle pre-multiplied alpha correctly:
material.blending = THREE.CustomBlending;
material.blendSrc = THREE.OneFactor;
material.blendDst = THREE.OneMinusSrcAlphaFactor;