Earlier quoted context omitted.
I don't think the problem here was in using their time effectively. Or, at least, it wasn't the high-order bit. Looking at their task breakdown, there weren't outrageous items like "10 hours - change a button color." The times were a little higher than I'd expect for devs who do this all the time, but not egregiously so. I think I overspent on this project, but I attribute it more to poor communication and poor manag…
I think you're being very generous. "You don't fit our usual workflow so no further work will be done unless you pay us a retainer like the big guys do" is simply not a good faith position to take half way into a project. They gave you just enough extra attention to hook you in at the start, then kept stringing you along for more cash, with a few token deductions to make it seem like it was all just very unfortunate.…
Good contract would have made this claim by the agency both immediately not material, a breach of contract - and in my opinion, may even be a type of fraud called bait-and-switch, which is illegal.