The javascript for embedding forms in HTML is great, but the lack of 'pre-fill form' and 'progressive profiling' on non-marketo landing page is SO disappointing.
Cross browser compatibility is a reach of a user case, IMHO. Most people tend to prefer a single browser, but in any case it's like saying "What if you're on your phone or on your computer?"
I embed my forms on Marketo LPs and use the following code in my forms embed to pre-pop. If you iFramed in a Marketo LP with the form you should be able to utilize this code to pre-pop still. I suppose you could also pass over the {{lead.Lead ID}} in a URL parameter and, on the form, have a hidden field for Lead ID which would pre-pop. I've never tried it before but it seems doable.
The definition of Prefill -- as derived from its current implementation and discussed here -- is that it works whenever a lead is known. If it only meant "cache the values the lead entered in the same browser session" then people wouldn't care about it enough to miss it. They'd already be using cookies to persist data.
I totally disagree that cross-device is an edge case. It's the case and the reason this Idea exists. Whenever a known lead reaches a form, people want it to be filled in.