Runtime.executionContextCreated is only called if you have a <script> tag in the page, so iframes with no scripting will not show up in the WebInspector.
Also, it means that the console will not be able to inject any other script inside the iframe, so maybe we just need to always create a scripting context when the web inspector is loaded.
Note that it happens to work in Safari because of the do-not-track feature that will always create an exceution context for all pages. However, that's not the case for the test runner.
The context is created because of the following function call Safari::BrowserBundlePageController::injectDoNotTrackDOMPropertyInStandardWorld().
I've logged https://bugs.webkit.org/show_bug.cgi?id=122766 for the do-not-track issue.