Although exposed properties for nested instances is in beta, the instance swap property is not.
Looking at this again, I think I was mistaken in my assumption of your component setup. It looks like for the “off” state, you are overriding some properties from your base toggle button component to make it appear in that state. For whatever reason, Figma really does not like it when both a) styles of a nested component are overridden and b) that component gets swapped. This is a very common use case the Figma team seems to be neglecting.
Instead of using a boolean property (“Show check”) for your base component, I recommend creating a variant and defining the on and off styles that way. It’ll double your base component size from 2 to 4 variants, but then you’ll avoid the need to override styles in your main toggle switch component. This should work a bit smoother.
And if you’re getting good results from this, but the focus and hover states are causing problems, I’d also add those style as variants to your base switch.