I first learned to code in PHP/JS to build websites with my brother, back when I was a kid. I dove into C#/Python during secondary school. Was fascinated by electronics, so completed bachelor in EE. Worked few years as electrical design engineer where I also wrote my own firmware and software in C#. In a small firm, those other skills were very appreciated. However, it also made me realize what I want in a job.
I love doing HW. But not so much as a day job. I like design and tinkering (which I still have whilst doing a PhD), but I don't like design for manufacturing. Production jigs. Quality assurance. EMC/CE certification. Explaining to my boss how I think I will fix those 'whoopsies' that appear in HW due to inexperience/ignorance. (OR worse, how much effort a recall is going to cost.) Ugh.
Maybe it's better in a bigger firm where you'll have test engineers, etc. But in a small firm, it was tiring. Not implying I made a ton of 'whoopsies' or whatever; but I found it mostly a grind. I found FW far more fun/suitable for me. Sure FW has arguably more invisible ways of going wrong (atleast EE is a hard discipline), there are also ways of doing it 'properly'. I feel FW suits my background profile much more, as someone that self-taught SW and did EE in education.
Now, from this point on in my reasoning, I may use "HW" and "FW" in perhaps some gray area. When I think of "HW": I think of precision/audio analog circuit design, RF circuits, power supplies, or high-speed digital board designs. I would not consider hooking up an ESP32 to some sensors as HW. Sure, it includes electronics and soldering. But 95% of the magic work is done in firmware. And if it needs to be low power; then I also think that's mostly software work nowadays. Well, unless you picked the wrong sensors/chips that don't support a good low power state ;-)
With that, I come to a 2nd problem I've with doing HW for the sake of HW design, which is the approachability from a single person with limited budgets. It becomes prohibitively expensive to work with the shiniest toys or chips. The shiniest FPGAs and MCUs will require high layer count (>4) boards with small pitch BGAs and high-speed memory buses. The last board I did was with a STM32H7 (still in QFP), dual HyperRAM memories and high-speed USB. Very pleased it all worked first-go. That project was not that expensive. The components were 40-50EUR/board and 4L PCBs are cheap nowadays.
But what's the next step? try a design with a 400+ball FPGA and some DDR3 buses? Sure; sounds fun.. until you get to costs and reworking options. A first run can cost hundreds of euros, hours of tinkering till you'll know for certain if the hardware is OK, and if its not, need to spend hundreds of euros again to fix it. It could be nice to put down as experience, but I don't see it being worth my time as of right now. So HW for the sake of HW has lost my interest a bit..
In FW, I don't feel these problems really exist. You can write the neatest code with splendid structure and speed/codesize for a 8-bit AVR or Cortex-m0 with 2KB of RAM, if you want. If you get into FPGAs, you get a taste of designing your own MCU and adding custom instructions or peripherals. Need to change something? It will be running on the target device in minutes. The devboards needed to get some decent mileage are not that expensive.
In my work/study, I'm doing all-digital radio (think SDR with some RF stuff)/DSP/ultra low power/embedded systems and I think the systems design aspects is what I like most. And with everything getting converted to digital ASAP (MCU or FPGA), I feel that's mostly FW work. In my PhD work I probably do 25% LaTeX, 70% code and 5% solder/CAD.