Have you solved your problem? I think I have the same problem.
When the user switches to a different theme during the same session, the colors of my custom syntax items change as expected
However, if I go to Tools / Options / Fonts and Colors, the default settings haven't changed at all
Accordingly, if I close and re-open Visual Studio, the older colors are used
If I clear the MEF component cache (Tools / Clear MEF component cache) or uninstall and reinstall my VS extension, the new colors take effect
So, clearly, the new colors are stored somewhere, but perhaps there is a cache in the middle that doesn't get refreshed. I don't know how to do that. I can't ask my users to reinstall the extension when they change the theme