Product engineers generally pick mainstream languages and tools. They talk about users, strategy and product.
I'm currently in the process of teaching one of the agency devs we hired on contract how to think with the end-user in mind. At the same time, I've tried to teach other how to reason through things from a purely technical perspective.
"Product engineers generally pick mainstream languages and tools." <-- going by that characterization, a "product engineer" will miss out some strategic advantages that comes from learning non-mainstream languages and tools. This is coming from the idea that, say, there are powerful abstractions and concepts that can be applied broadly, including UX.
For example: Promise Theory is a formal language for describing intentions and a powerful framework for creating cooperating agents in the context of uncertainty. It is typically applied to configuration management, infrastructure and microservices, but it can be applied broadly to human-to-human and human-to-machine interfaces -- literally, UX. For example, knowing that humans will typically assess trust in an iterative way, you can pick apart the entire user flow in terms of the perceived (implied or explicit) promises (user expectations) the product makes. It starts from the advertising (signaling), through user signup, through onboarding, and any useful impact that product makes. It extends through into support and infrastructure scaling, and back to the user signaling to other users that, hey, this is a useful too.
Another huge aspect that conception of the product engineer misses is strategic thinking. Strategic thinking is the art of making decisions in face of uncertainty. Engineers typically don't think strategically, usually thinking in terms of relative advantages instead of strategic advantages.
Insofar as I fit all the criteria you're listing, those traits are all things that push me to want to work on a small, independent product where I can dictate the vision for it. If I'm willing to "learn programming somewhere along the way as a necessity" to express that vision, there's no reason I won't also decide to learn how to start and run a business "along the way, as a necessity."
To put it another way: in the games industry, the "product engineers" there are called "game designers." Game designers don't generally work as freelance consultants, or put themselves on the market as employees for companies like EA or Sony to snatch up. Instead, if you have the actual vision required to come up with a decent game, you'll make it—and sell it—yourself, either as a one-man show, or by starting your own small games company.
The only game designers working for the big games companies are the ones that grew into that role from whatever they got hired to do (usually either programming or art)—and, even then, only embraced their roles once the company decided to start letting them come up with products "from scratch" that they could basically run as their own little ventures, rather than just stewarding along some existing product of the company's.
---
† I say "entrepreneur", but not in the typical HN meaning of the term. Most "startup founders" I ever hear about seem to be either pure-engineering types who just think about cool tech all day, or pure-business types who think about what'll be profitable all day and follow trends. Entrepreneurialism seems to actually be much more common outside Silicon Valley in regular-old small businesses, where someone with a "product vision" like "feeding people really weird pizza" will get a loan and set up a pizza place to fulfill that vision.)
Product engineers and entrepreneurs get along so well because they're the same breed of people. Great entrepreneurs are often product engineers.
I don't like this sort of pigeon-holing; most developers I know straddle this divide.
"Full-stack engineer" describes a person's technical knowledge: comfortable doing front-end or server work, maybe comfortable designing whole things from scratch.
"Product engineer" describes a person's motivations: primarily interested in writing code as a means to making a product, or improving a product.
Lots of engineers are primarily motivated by writing high quality code, or very performant code, or prefer to write tools (libraries/frameworks) over writing products using those tools.