Oh, and by the way, the "dirty work in the trenches" is often what requires the real expertise and is what actually gets the job done. PMs are really just overhead.
Not a PM but I don't think it's as clear-cut as saying they are just overhead. The roles are different.
The engineers that are working on a project all day, every day, grinding out the things that contribute to the completion of the project, are like singles and occasional doubles hitters in baseball with a very high batting average. You need that, absolutely. Most times they are doing something worthwhile and necessary, but in the big picture one engineer can't outproduce 10 other engineers (let's ignore software for the moment). They are very good, but singles and doubles are most likely what they will hit.
On the other hand, PMs are like solid pitchers. They are keeping the other side (the client) from scoring, maybe not always, but usually. No, you can't have XYZ for free. No, ABC is not in the scope of the contract. Look, we met this milestone so pay us. It may seem like overhead because they aren't "scoring runs", but they are keeping the other side off the scoreboard, and that has value.
Where the good PMs make a real difference is that every so often, in addition to a solid pitching performance they will also hit a 10-run homer. Bringing in a change order, negotiating better payment terms, etc. While the PM can't hit singles and doubles all day because they aren't progressing the deliverables like engineering is, when they hit that 10-run homer the amount of money it means is huge - a much bigger difference in money than the engineer can make.