That's a good theory, and it led me to the solution. If you refer back to the picture linked in the OP, the problem smells of two transparencies overlapping each other, but even when removing all transparent colors from my code, the problem persisted. So, for a final test I went into my Windows Settings/Personalization/Colors and noticed "Transparency Effects" was enabled. Disabling it solved the problem, and I guess it makes sense since my app inherits its theme from the Windows settings on my PC. Nevertheless, this seems like an odd behavior from the base Windows theme for it to show up only when related to flyouts. I'm guessing there's a way to override the base theme on a child flyout, but for now I'm just going to leave Transparency Effects disabled. Thanks for nudging me in the right direction!
Regards, R. Wey