Contracting is easy. Just that 80% of the effort is marketing or collecting payment. People say Upwork is hard, but that's because with Upwork, you're competing with all the people who don't want to market or take higher risk projects. When contracting, you also have to charge more than you would at a FT job, which also raises the marketing effort needed.
The problem with contracting isn't really the money, it's that you spend little time actually doing the work you're paid for and get rusty. So after a while I'd do teaching (which pays much worse). Then just ended up getting a full time job to be able to just focus on the coding.
Doing product as a solopreneur is probably hard mode. It's actually easier to go the VC route, which is why people just do that. There are people out there whose full time jobs is to find someone who can build a product and give them a million dollars. If your odds of making a billion dollar app aren't very high, then you can try the million dollar route, but that's probably the niche of making well, apps around ChatGPT, selling diet products, and essential oils. Things that people would buy, but won't fund.