Coordinates and CRS transformation

I have a general question on capturing coordinate data and saving this into a dataset.

As a principle, coordinates always have only one CRS and a GIS needs to know what that CRS is. Otherwise, a GIS can not place these on a map or translate the coordinates into another CRS.
Working with QGIS I never really had to think about this, since I was not capturing new coordinates with an external device. Now, with QField a device is capturing coordinates and adding it to a dataset.
When creating a project I need to do two things: set the project CRS and set the data CRS. The data CRS is the important one. This defines how the captured coordinates are stored in the datafile.

Now my question is: how does QField now what the CRS is of the captured GPS data from the device?
It needs to know this, in order to save the data into any data CRS that I have set and show it on the map in any project CRS I have set.

Does my Android phone provide CRS information about the coordinates it is providing to QField?
Does an external GPS device provide CRS information about the coordinates it is providing to QField?

I believe that, in general, GPS itself works with WGS84, and by extension the other GNSS might be at least compatible to allow for seamless compatibility. If I’m not mistaken, WGS84 and GPS themselves are deeply intertwined in their development and that’s why it works with that particular CRS (although the actual CRS models, datums an so on might have been seized from the international scientific community by the americans and masked up as WGS84).

Haven’t worked myself directly with external capturing devices, but the messages that the GPS devices send to the requesting devices usually follow some of a couple of protocols, the most common (to my knowledge) being serial data interface with NMEA protocol. Unless otherwise specified to the capturing device, NMEA would send WGS84 coordinates. So most likely, you should set the CRS of your capturing layer accordingly to save the measurements “as raw as possible”, but I think QField has no problems converting on-the-fly to your desired CRS (I think that’s why, for example, you can save the raw measurements onto the debugging/logging layer)