Tested versions
4.0.4, 4.2, 3.5

System information
macOS 14.4 (23E214) Godot 4.2, 4.0.4

As shown in the figure above, add a mesh to the sample project, and add an shaderMaterial to surfaceMaterialOverride, set the shader script to alpha.gdshader, and blendermode to mix. Create a shaderMaterial that is the next pass of the previous shaderMaterial, and set the shader script to alpha1.gdshader, and blendermode to mul.
Both shader scripts only set the color to white, expecting that white and white will result in a white result, but the returned result is too dark. (rgb is 218, 222, 229)

alpha.gdshader:

alpha1.gdshader:

This is the image of the result, and the color of the large background meshinstance in the image is pure white:

demo:

test0520.zip
5MB

    jl1872002 there's no bug.
    1 - both are PBR shaders, you are just changing the albedo, lighting calculation is still done. that said, setting the material to unshaded also results in darkening, this might be because of mul.
    2 - as the docs state, changing blend mode to mul changes the material to transparent:

    Godot will automatically force the material to be transparent with alpha blending if any of these conditions is met:

    Setting the transparency mode to Alpha (as described here).
    
    Setting a blend mode other than the default Mix
    
    Enabling Refraction, Proximity Fade, or Distance Fade.

    if you need an overlay that multiplies over the material color, I recommend combining the two shaders and multiplying whatever you need and sending it to the ALBEDO in the same shader:

    ALBEDO = vec3(1.0) * mycolor_slash_texture_etc;