The cursor should always be inverted compared to its background.
Also, Texture Paint workspace should not override the viewport rendering. Regardless of if I chose solid, lookdev or rendered, I get an all white blob with zero shading. I have no idea what I’m painting on!
The “face selection masking for painting” button seems broken as well, because I thought it was a wireframe mode that would at least let me see something, but no. With that button enabled, you can’t interact with the model at all in any way. No painting, no selection.
The cursors aren’t aware of the background color and can only have parts that are white, black, or transparent. But usually they are a shape that is white with black outline so are visible on anything. In your capture I really can’t see it at all. Exactly which cursor is selected then?