The only way you will know is by obtaining other competitive bids.
One thing to do is specify the make and model of the heater, or equivalent. Have the make, model or series specified by the contractor submitting the bid along with a scope of work.
Just asking "how much to install a heater here" and accepting a price without knowing what you get is not the correct approach.
This type of question will have 100 different answers.
Well, you only state a brand name, nothing about the model numbers. Same with the OP: lots of "garage heaters", and no one knows what the OP is looking for. A simple basic cheap unit heater is lots less than a sealed combustion unit with a stainless heat exchanger.
Lennox makes all kinds of stuff, from high end to bottom of the barrel builders models. If that company sells lots of furnace boxes, they get good pricing.
So, if you bought bottom of the barrel builders grade stuff (or were given same), then you probably got ripped off, too

Especially if you got a wham-bam box swap in and out in a day special. This is the type of job that price shoppers normally get.
Making new plenums (or part of a plenum) isn't a big deal. You can buy "premade" pieces that get cut down, use a hand bender with cleat/screws/tape or have a machine on the truck/in the shop that does it professionally.
Installing equipment that is properly sized with good airflow is a big deal.
As far as the 20 hour install "WTF" goes, if the job is bid for 2 installers and 8 hours, there is 16 man hours, plus time to round up materials, travel time, even *gasp* a materials markup, business costs or just simply plain old profit.
One reason to have 2 people there is the roof work, in case something happens, even on a simple 4/12 pitch. Crawling around in an attic is another. If you fall, who is calling 911 for you?