(I haven’t looked into XBlock theming in a while, so maybe @kmccormick can keep me honest.)
First off, MFE branding won’t work with XBlocks, because as you’ve seen, they’re loaded inside iframes, and the content of iframes can only be styled from within. This means that applying brand packages and rebuilding the MFE image won’t do anything to XBlocks.
However, the iframes do load lms-main-v1.scss, which in turn loads sass/partials/lms/theme/_extras.scss. This means that XBlocks can indeed be customized with a comprehensive theme as per the corresponding Tutor documentation. In other words, if in your $(tutor config printroot)/env/build/openedx/themes you add a /mycustomtheme/sass/partials/lms/theme/_extras.scss and then subsequently enable the theme (including rebuilding the openedx image via tutor images build openedx), your XBlocks should be styled accordingly.
This is what Indigo itself is doing in this file, which subsequently gets loaded into sass/partials/lms/theme/_extras.scss.
If this doesn’t work, it’s likely you’re missing a step. Did you run the settheme command to enable your custom theme?