I think the overall point of this article is spot-on: the goal is to iterate over the understand - design - build - use cycle, with each iteration working from the
known to the
unknown - by pinning down those design and architecture decisions that can safely be made early.
With regards to "when should one introduce interactions / logic / UI" decisions, I think it depends on the sort of application you're building, who is the user, and what are the risk factors that need addressing.
If the goal is to build a simple blog-like site for a mom-and-pop shop, then you might want to start with paint & chrome, because while many platforms could suffice, the importance of front-end gloss might drive implementation choices.
If the goal is to build a geodetic-measurement app for plate-tectonic specialists, perhaps you want to start with the engine, without which the entire effort is pointless.
To me it's all about
- Achieving a shared vision early then refining
- Surfacing risk areas early then addressing
Past that, how many iterations you need and what you call them is mostly semantic, once you understand what you're trying to achieve.