That’s great value. If you’d had one crown done it would still have been £307 (£306.80 actually), three crowns would still be £306.80, six crowns, which does happen, would still be £306.80. £306.80 is the most that you can be charged in England for a course of NHS dental treatment.
Laboratory charges, which the dentist has to pay out of that fee vary, but I pay £155 per crown so I would have had to pay out £3 (£310 minus £307) for those two crowns & have done all the work for nothing, plus pay all my staff, rent, materials bill, heating etc. etc.
I could find a cheap technician but they’re usually cheap for a reason & I wouldn’t want to compromise my standards.
Fair play to your dentist though.