"A scope a stranger could price" is the best test in the article. If another team could read the document and produce a similar number, the scope is finished. If they would have to guess, the quote is really a bet.
The four layers are a useful checklist, especially platform foundations and delivery and operations, which are the two most quotes leave out. Your note that migration and ERP export carry the widest spread matches what we see too. Those are the items where the client's own data decides the effort.
Choosing the contract model by uncertainty, then paid discovery before fixed price milestones, is how we approach fixed price builds as well. Discovery turns the uncertain parts into a defined problem, and only then does a fixed price make sense for both sides.
The CR-014 example with equal size swaps is a nice touch. It shows change control as a normal conversation instead of a dispute. Do you publish the exclusions list to clients as a separate section or inside the scope?