The dentist wrote to me that he would remake the crown free of charge.
After starting the remaking process, he said his time was free but
material was not. He estimated the additional fee to be around $400.
But the final fee was more than $1000.
An estimate is normally merely a guess, not a binding quotation of a price, so the fact that he estimated the price to be $400 and that it actually turned out to be $1000 is not itself improper.
If he told you that you were being charged for materials and not time, and then he charged you for both materials and time, the amount he charged for time should not be allowed because he agreed on a price for his time ($0) for this task and oral agreements are still valid.
If you were charged for both, your position legally would be stronger if you paid for the material portion of the invoice but not the labor portion, although as a practical matter, it makes sense not to pay anything until the dentists agrees to accept the amount that you will pay as payment in full.
You could complain that the amount is much more than estimated and ask for a discount as a matter of professional courtesy and good business practices, but you don't have a right to a discount merely because the price ended up being more than the dentist estimated that it would be.
Arguably, the dentist said he would remake the crown free of charge, the dentist made a promise (and arguably this was to satisfy an implied warranty obligation for his work). But, when he told you that he would be charging you for materials before the crown was put in and you went ahead and had it put in anyway, this probably constituted a valid agreement to modify the terms of the arrangement.
You gave the dentist nothing in exchange for his promise to remake the crown free of charge so that promise would probably not be enforceable, even though it was in writing, because it was not supported by consideration (unless the dentist had, in fact, warrantied his work and broken the warranty, in which case it should be free).