I don't have the answer but....
I have been successful with "multi page" webapps in sites by "fooling" the "end user". What I do is each "page" I want to show is in it's own DIV. What the page loads all DIVS are loaded BUT only 1 has it's visible property set to "visible". All the others are "hidden". Then all the button clicks are doing is hiding and unhiding the correct divs. For all the things I need to do, this works for me.
Now, for standalone apps I am successful with using anchor elements and the scriplet to get the URL of the script. They look like this:
<a href="<?= ScriptApp.getService().getUrl();?>?v=form">Form</a>
<a href="<?= ScriptApp.getService().getUrl();?>?v=about">About</a>
I tried a quick prototype of using an actual iframe element with the source set to my webapp then used the "embed" html on the google site BUT it didn't work... I might try to keep at it because this would really be a nice thing to be able to do!