I’m pretty sure any solution would involve loading the game again in a new window, meaning that the game engine state would not carry over between windows. Someone else can tell you if I’m off base here.
That said, if you don’t need to pass the state between windows, you could just load a static external HTML file with your content.
Alternately, you could use the dialog box API, which creates an in-page popup and supports including existing passages. This is preferable if you’re doing anything complex.
You can use CSS to make it fill the page. The in-page dialog box wouldn’t actually be full-screen, but your original script isn’t necessarily going to load in full-screen either due to browser limitations. On my browser, for example, I get the URL bar when I run your script (though maybe that’s the sort of full-screen popup you were expecting).
/* Using a full URL. */
<<fsd "https://my.url/images/foo.webp">>
/* Using a relative URL. */
<<fsd "images/foo.webp">>
/* Using a data URL. */
<<fsd "data:image/webp;base64,…">>
/* Using an image passage name. */
<<fsd "passage name">>