I switched from C++ because the type of work is typically boring. Its either system level stuff, or HFT, usually some market data system or similar. Not to mention its likely a big old system with legacy code base.
Seeing the salaries now I kinda regret switching out, but the companies and business problems you get in Python & Java are much more interesting.
May be a personal taste thing but graphics programming, computer vision, scientific computing, robotics and even some embedded systems work is far from boring imo.
But certainly the above are niche fields in a market where software engineering is almost always limited to webdev.
Each of the industries you mention has a tech stack which must remain modern. That means that new work will migrate to the language easiest to do the work and find workers.
It's gonna migrate away from C++ if C++ becomes "legacy."
Embedded systems work is perhaps the exception - since there will be old hardware in the field. But firmware parts go out of production within 2-10 years and so new drivers require creation and new features encourage a migration to a whole new system.
As a game developer I agree that a lot of C++ work can be really fun, but this less than 10% of what C++ is used for. More so you have databases, non-robotic embedded work, crypto (ew), systems work, etc. And they all pay terrible; except financial, but that’s the most boring of all C++ work.
As a personal anecdote, all of my jobs were actually very interesting with lots of interesting design problems spanning from low level systems to very high level design decisions. Granted I worked in automotive and later in AR and have been lucky enough to be at the start of some projects, but there definitely are interesting projects for C++ out there.
Seeing the salaries now I kinda regret switching out, but the companies and business problems you get in Python & Java are much more interesting.