Dark / light mode was not sticking for me either on iOS or macOS Safari using the checkbox or the icon click method.
What did work is disabling content blockers, using the icon to switch to dark mode (needs a refresh in light mode, then switch to dark mode). Reenabling content blockers after this and it’s saying put.
Bit of a dance, but it worked.