I posted a question here asking how to find the current background color in a Menu2, so that I can draw the Icon in an IconMenuItem in a sensible way. I'm pretty sure the answer is that you can't.
The personality library provides lots of good, device specific colors; but it doesn't help for this case, because you need to know whether the menu is being displayed as "light" or "dark", and there doesn't seem to be a way to find out.
For example, on fenix5xplus, the settings menu for a data field has a white background (regardless of whether the data field is configured for light or dark backgrounds). But on fr955 (and many other newer watches) the settings menu has a black background.
I can't find anything anywhere documenting which watches have black backgrounds in menus, and which have white; if there's a setting that would change it; or even if black and white are the only options.
Ideally, there would be a dc.getBackgroundColor() method (and a dc.getForegroundColor() for that matter). Failing that, WatchUi.Drawable.getBackgroundColor() would solve this particular issue.
Alternatively, assuming its not configurable, something like system_color__menu_background in the personality library would help...