Great questions, wish I had more details on anything specific to watch out for. The only hiccups might be on passing data into and out of the iFrame window.
We recently launched the Embedded JS SDK so we are looking to get as much feedback on that as possible.
For your 4th bullet point, stages might be tricky to implement. We have a few components such as Breadcrumbs and Wizard but there are some limitations. Definitely check out their docs here and here to learn more about them.
We are looking to roll out multi paged apps shortly which should replace a lot of these multi-step use cases.
For your las bullet point, being able to track the users progression in the front end state to ensure it doesn't start them from the beginning should be possible but will need some solid architecture depending on if you try to store this information in the frontend state or if you are able to log users current progress into the backend/DB to keep things on track.