The short answer is that the Spike accuracy can be improved with these external GNSS receivers on Android but not by using Survey123's direct connection. You will need to install a Bluetooth connector app such as Bluetooth GPS, and then select it as the mock location app in the Developer settings of the device. This allows your device to use the GNSS positions as if they are coming from the device internal GPS, in turn allowing all apps to utilise them.
Spike is not currently able to connect directly to external GNSS receivers, and even if it could, most receivers currently don't support simultaneous connections to multiple apps, which would be needed here. We are looking into a possible solution that will allow Survey123 to send the GNSS position data (and some metadata) to the Spike app.
This sounds like a very interesting approach. I wonder though if one could set up a GPS I/O share where multiple devices could use the same GPS GNSS stream whereby keeping them all in synch?
When I was working with OK DPS we had a similar issue and we were able to use a small piece of software to create "virtual com ports" and then allow multiple software packages to have access to the GPS data at the same time. This would be similar yet diff for two devices same GPS host but in theory, it seems possible using a GPS Splitter of sorts.
Potentially a GPS Service Bus so to speak where any device and/or app could tap in and consume the stream.