Mask looks fine in Base Color. I added an If node to make sure the output is pure black and pure white. Still no luck.
Here’s what this test looks like:
The entire material reads as puddle, seemingly ignoring the mask.