I remember reading @dkhayes117's exploits in this rabbit hole back when I was going down it myself. I developed a lot of cool approaches to the problem here:
Check Mark Box is not Visible it is Transparent
...none of which have I ever used in production
If you need custom colors on a checkbox component, my recommendation would be to simply make a template. In reality, a checkbox component is nothing more than a button with two icons. Make a couple of shapes: one that represents an unchecked box, and one that represents the check. Then, simply bind the fill colors to an external property on the template, and inversely toggle everything with a mouse event.
Example:
checkbox.zip (4.0 KB)
Result:
The example template has external properties that allow the user to set the selected background, unselected background, and checkmark colors.