TL;DR: You're using color: "FFFFFF"
, but you should be using color: "#FFFFFF"
, or color: "white"
.
The "FFFFFF"
string is not a valid CSS colour definition anymore.
Once upon a time, browsers used to use fallback techniques when it came to CSS colour definitions, and that caused much confusion with the color: chucknorris
CSS rule. Nowadays, this behaviour seems to be deprecated in most browsers, which will fall back to a colour of their choice.
Leaflet is doing its job of passing the colour to the SVG paths (or to the canvas draw calls), e.g. code like this...
L.circleMarker([0,0], {
radius: 100,
weight: 10,
color: "FFFFFF",
fillColor: "FFFFFF",
fillOpacity: 1
}).addTo(map);
...will produce a SVG element on the DOM which looks like this...
<path class="leaflet-interactive" stroke="FFFFFF" stroke-opacity="1" stroke-width="10" stroke-linecap="round" stroke-linejoin="round" fill="FFFFFF" fill-opacity="1" fill-rule="evenodd" d="M304,405a100,100 0 1,0 200,0 a100,100 0 1,0 -200,0 "></path>
...and the browser won't understand those colours, and will most probably fall back to no stroke, and black fill, like this:

This is not exclusive to SVG elements; try this, which shall fall back to transparent background and black text:
<div style="background: 00ffff; color: ff0000">I should be red text on cyan background</div>
By sheer chance, the browser is falling back to a colour you were defining already, which is causing confusion.
So, in essence this is a GIGO problem, and you should make sure to define your CSS colours the right way.