That’s a pickle, and even experienced guys will have a hard time coming up with a fix that the builder won’t fight and produce a smooth roof.
Trusses cannot be modified without the truss engineer giving the ok. Pulling off trusses and having new ones made isnt a reasonable fix - nobody will do that. At best the metal roof comes off, plywood/osb is pulled, trusses are shimmed flat with 2x material and plywood/osb replaced. The national association of home builder standards are typically what builders use in court and they are definitely in the builders favor.
It started with the trusses being built wonky - as soon as the crown was discovered they should have been rejected by the carpenters. Many experienced carpenters haven’t worked with metal roofs much so it’s not surprising. As a builder I’d be furious the carpenter in charge didn’t see the crown and know enough that a metal roof couldn’t be installed on it, but most small contractors also don’t work with many metal roofs, so the owner may not have recognized it as a problem. An experienced roofer would definitely know the roof wasn’t flat before starting and most likely would have brought it up to the lead carpenter if not contractor, or if nobody was around from the contractor side, they just tried to make do with what they had to work with. Maybe it’s an inexperienced roofing lead who hadn’t run into this before. The world isn’t a perfect place.
If I was the lead I’d suggest removing the metal roof to be reused, adding tapered 2x sleepers over the existing roof to provide a flat base for a new layer of ply/osb. Most expensive option.
The contractor will probably try to get the roofer to agree to pull the metal and “shim” the surface of the ply/osb with layers of osb and perhaps thick roofing felt on their dime. The roofer will probably get pinched unless they have a good relationship with the contractor even though it wasn’t their fault. Too many soft layers of felt risk dents from walking on it.
In the end the person holding the cash has the advantage. If the contractor was paid he will blame everyone else and between the truss plant and roofer maybe the truss plant won’t charge for the wonky trusses and the roofer will make some effort to kiss his ass to try to get paid. If the contractor hasn’t been paid he’ll make more effort possibly including his carpenters. You now know why lien releases from suppliers are so important. The contractor could walk away, not pay for the trusses and they lien you.
Worst case if the contractor tells you to kick rocks, a consultation with an attorney will repeat the idea that the person holding the money has the advantage, and regardless of the wording in the contract he will be happy to start what may be a year long process with no guarantee you’ll issue will be resolved. This typically involves another contractor and list of subs giving estimates to remedy your problem, some back and forth with the contractor’s attorney and their third party contractor and roofing experts contradicting your estimates.
Squeaky wheel gets the grease, if it were me I’d stop any payments and nicely but firmly let him know it has to be done in a way that doesn’t catch your eye