There are 2 dark theme UIs provided by @carbon/themes called g90 & g100 -- https://carbon-elements.netlify.com/themes/examples/preview/
The $inverse01 token for both of those themes is the gray100 color.
The button--theme--x mixin for both primary and secondary Carbon X buttons applied $inverse01 as the font (and icon) color. (see: https://github.com/IBM/carbon-components/blob/master/src/components/button/_button.scss#L203)
That means that buttons sitting on a dark UI background (like a gray90 or gray100) background also have gray100 font & icon color, like this:

We are using a dark UI in our application so I'm happy to help you test alternative token applications here.
@IBM/carbon-designers @joshblack Thoughts? Thanks!
Yeah this is another token bug. It should be one of the new tokens we recently add, $text-04 for both the icon and text.
I've got a token change log here that should have all the correct tokens on them: https://ibm.box.com/s/3prwmp421wu6umgayvejehiy0r1hi9m4
Thanks @aagonzales! So unfortunately I don't have access to that boxnote even with my IBMid, but I did go ahead and update text + icon color for primary and secondary Carbon X buttons in this PR, based on your comment: https://github.com/IBM/carbon-components/pull/1720
I updated the permissions to the box note. You should be able to see it now.
:tada: This issue has been resolved in version 9.69.1 :tada:
The release is available on:
Your semantic-release bot :package::rocket:
Most helpful comment
Thanks @aagonzales! So unfortunately I don't have access to that boxnote even with my IBMid, but I did go ahead and update text + icon color for primary and secondary Carbon X buttons in this PR, based on your comment: https://github.com/IBM/carbon-components/pull/1720