I can't comment regarding Stellarmate, but I do have an RPi system with a USB GPS (Ublox 7) that I have working for location and time source.
The best I have configured this so far is to have the gpsd.socket service active - but do not start the gpsd daemon and own the GPS device, if I do that, then my indi_gpsd driver won't seem to work. I have configured NTP to use the time that gpsd dumps to shared memory (I don't have PPS available) as its time source. I manually start 'gsmon' or 'cgps', then the time dumps begin to appear in 'ntpshmmon' soon after. I can use 'indiserver indi_gpsd' in this configuration.