Well to be fair I went from doing well over 20 years of Mac programming with a lot of UNIX/Linux alongside to a semi-hardware developer with linux low level stuff, pure embedded and FPGA development...
There's LOADS of fields that you haven't done. I remember my first time trying to get my head around some VHDL code and I felt I was 12 years all over again looking at 6502 assembly code.
It's quite strange and yet makes sense, that embedded salaries are lower than easier higher level development. On the one hand, embedded is NOT the kind of thing some random 14 year old kid can do, whereas iOS/Android/Web is. But unfortunately, there's just not the plethora of jobs demanding embedded folks.
There's LOADS of fields that you haven't done. I remember my first time trying to get my head around some VHDL code and I felt I was 12 years all over again looking at 6502 assembly code.
Make your horizon wider!