Okay, here's the thing. I created a 9-state Toggle Button.

This button component has the following properties:

Style: Filled, Tonal, Outline, Elevated, Error, Information, Accent.
(This property refers to the button's colors and style.)
Shape: Round to Square, Square to Round, Round, Square.
(This property refers to the button's appearance before and after selection.)
Type: Unselected, Transition Selecting, Selected, Transition Unselecting, Inactive.
(Button states, such as hovered, exist both with the button unselected and with it selected. This property helps differentiate shared states between component variants.)
State: Default, Hovered, Focused, Pressed, Enabled, Disabled.
(Button states.)
Size: xs, sm, md, lg, xl.
(Button Sizes)
Label Text (Changes the button text).
Show Icon (Shows or hides the button icon).
So far so good 👍.
This button component has an icon and a label text. The icon is imported from an external library, where each icon is a component with a style property (Outline, Filled, etc.).

I want the icons in the button's unselected states to be outlined and the icons in the selected states to be filled. To achieve this, I couldn't create a single instance swap property, because that way all the icons would share the same icon style when I changed one. So I created two instance swap properties:
Icon Off (For the Unselected and Transition Selecting icons).
Icon On (For the Selected, Transition Unselecting, and Inactive icons).

This way, I got what I wanted. I just had to copy an instance of the component to my layout and change the icon's instance swap to the one I want for each Type (Unselected, Transition Selecting, Selected, Transition Unselecting, Inactive).
Now the problem is, when I play my prototype, when I start interacting with the button, states like hovered or enabled reset my icon's color to the default color from the external library, even though the color is set via variables in my file.

This is clearly a Figma bug, which is starting to confuse the states. Does anyone know how to fix this?