As a freelance software developer (mobile/web), I'm curious how others have successfully niched their services, and how I might go about finding a profitable niche. What is a good strategy for achieving service market fit?
Maybe not the answer you are looking for, but there are many ways to be "niche" of differentiate yourself, and not all of them boil down to skill.
Let's get the obvious out of the way: if you are objectively more skilled than other in a specific aspect of mobile development you'll set yourself apart. Maybe your UX is always super attractive AND useful and you have a track record of apps that people love, maybe you just get work done faster than anyone else, i.e. something objective that you can see when you look around at other developers "hey, I'm actually better at X or Y than they are". It takes experience to know where you excel versus others.
Some developers differentiate on how they present themselves. Their website is very professional, they have great templates for proposals and presentations (or just the fact they have them), their appearance is different (e.g. extra classy, very outgoing, ...) or there is something else that sets them apart just because of the way they present themselves.
Closely linked to Skill, but not the same: you can suck at something, but if there is no one else doing it you're still better than nothing. E.g. I know of a company that was desperate for a COBOL programmer for some legacy mainframe job. They couldn't find anyone, and the guy they finally hired probably took twice the time it should have taken BUT... there was no one else and he did get the job done to the company's satisfaction in the end.
Bottomline: it comes down to experience or observing, look around and see what are others not doing: it can be a specific mobile development skill (e.g. if you are a mobile developer you may want to specialize in secure development for mobile devices right about now) but it can definitely be any other aspect of doing business that can set you apart from the rest.