I'll give you a fine solution and then ill explain
Back in time, it was much easier for the users when almost every website used similar colors and designs with interactive forms, because when the users learn it on this website, then they will know it on every other website.
However, nowadays designers are enforcing more identity into their designs including the interactive forms. Which is slightly derived out of the common patterns, and new patterns are introduced as well.
But, try as much as possible to stick to patterns, they might not always be sexy, but it comes at the price of how self-evident your design is.
If you analyze your design, you had to use a gray shade of the Check icon
in order to indicate that it is a check box, while if you just decrease the size of the box a bit, it will better indicate that it is a checkbox.
Which then gives us the ability to use the gray background to indicate whether a box is enabled or disabled.
In the enabled mode, you can use which colors of your theme you desire, for example, I used purple for the box border, and you can also color the check icon itself.
When it is disabled, we just take life away from it, by turning it into black and white.
Regarding your concern, with disabled checkboxes can be misleading, you can add a tooltip when a user hovers the disabled field, explaining why it is disabled.