Yeah, if you do mapping all over like that, it can get really bad. The solution, I feel, is to avoid the mapping by pushing more things closer to that central place (as outlined in the article).
At least this works well for us when building a web client, but I can't speak to how easy it is if you're using that architecture for other purposes.
For this post, stateful and stateless refers to how the component looks from the point of view of Elm.
It's true that the DOM is very stateful, even when we're writing "stateless" Elm code though. But this is something one needs to know regardless of what kind of components we write.
b) it's easy to have a function producing HTML that isn't ready for re-use in your application.
Saying "It's just functions!" is really selling it short.