Your response to this is "But actually, according to payscale.com, an average embedded software engineer only makes X."
1. Nobody likes but-actually posts.
2. Quoting average salary when someone is commenting on how non-average a guy's skillset is isn't really relevant.
The OP said the skills are "mindbogglingly expensive". From personal experience they aren't (I worked in a team with embedded engineers with similar skills to those required for this).
I thought this was well understood - it's been discussed here a number of times.
I added the average salaries after getting voted down to -2 and that turned around the voting.
While there are a number of issues with average salaries I think it's notable that no one is claiming the opposite.
It's only hubris that makes us discount the importance and difficulty of, say, web client design and implementation.
How many developers on HN poo-poo "UX" yet don't even have a single fleshed out README on any of their products because it's "not important"?
Turns out raw low-level tech skills aren't the be-all of software and business.
A complete "Embedded System" (HW+SW) is orders of magnitude more complex than "Web Client Design and Implementation" (unless you approach Google/Facebook scale). The malleability of SW means you can quickly try out various techniques without too much "learning overhead". With all the existing Frameworks/Libraries/etc it becomes more of a "plug & play" proposition. Not so with Embedded Systems. You have to know EE/Electronics, programming interfaces to HW, Bootloader and OS kernel (if using one), Complex Toolchains/ICE/Simulators/Debuggers and finally; The Application. Each is a huge domain in itself and has a significant learning curve. To have all of them in "one head" is remarkable and non-trivial.
An "embedded system" can be as simple as "when this button is pressed for 3-5 seconds, turn on this light for 30 seconds." That hardly requires much of a skillset.
And as far as having all the things you mention in "one head," every member of my team can handle that easily and we're not particularly noteworthy!
In my own experience moving from pure applications software development (though not a web developer) to network appliances to lower-level embedded development i have been amazed at all the "hidden complexity" which you suddenly become exposed to. And this is just the software part. If you get into the hardware part you have a whole another world of knowledge to learn. Merely doing something without understanding is the difference between a "Technician" vs "Engineer/Scientist".