On iOS, the code that you've modified runs in an interpreter but code you haven't changed runs the existing fully optimized AOT code that's already in your app.
There are some similarities. The main difference is that Wine is mostly in-process whereas, in this design is mostly out-of-process. I'll add a section on Wine to the "prior art" section of the doc.
The memory model is similar (a flat, linear address space). The OS APIs are quite different. Fuchsia's OS APIs are designed around an object-capability discipline. For example, almost all the syscalls take a zx_handle_t as their first argument, which means they are operations on an object the process has previously been granted access explicitly. In Linux, many OS APIs operate on the "ambient" environment rather than on a specific kernel object.