For reference, the four stages go like this: you start with "trip supply and demand" by zone, then inter-zone trips are generated by matching those up, then mode choice is computed per trip based on cost and travel time priors, then assignment to the network which results in actual trips and computed travel times based on route selection and congestion.
The travel times can then be fed back into mode-choice and iterated on: people will make the transit-vs-car choice differently based on the relative costs (in time and money and inconvenience) so iterating the last two steps can go a ways towards modelling that equilibrium.
Folks can exert some amount of choice around which trips they make (as mentioned in the article) and where they work, based on how easy it is to get there, so feeding the travel costs back into trip-generation can account for some of that, and over a longer horizon, both workers and employers can exert some control over where they live/site their facilities, so all 4 stages can be iterated as well.
None of this is perfect, and it's not always done, and the rest of the article's points stand, but I just wanted to say the modelling is not all that primitive :)
Edit: I studied this stuff in university 15 years ago with Professor Eric Miller, who wrote this book on how to integrate all this stuff in an iterative way... https://link.springer.com/article/10.1007/s11067-005-2630-5