Dirt on glass is black instead of colored, or no opacity at all

You need a different material for the body and the glass.

The body needs to be a standard shader, but the glass need to be translucent.