I think one of the problems here is the definition of “a clean yard.” To a contractor, it includes only major item removal; to this homeowner, it means a reseeded lawn with no trace of the tree work at all.
I am not a tree expert, but I have seen landscapers put down a tarp first before commencing any work. Then, when done, they can remove the tarp and there’s minimal evidence that the site was ever disturbed. That, plus advance permission from the homeowner, would have been the right way to do it.
If I were the contractor, I would have bent over backwards a little more when I saw how upset and possibly litigious the homeowner was. Offering to regrade, reseed or replant the messed up lawn might be expensive, but he wouldn’t have lost the $1500 job. $20 doesn’t cut it; it’s an insult.
OTOH, the homeowner is being just a little pissy. If I were the homeowner, I might just bite the bullet, hire someone to clean up the yard, and send the contractor (or tree-owner) the bill. If it didn’t get paid, I’d either go to small claims court or chalk it up to the price of civilization.