I did some tests where I was logging LLH file on new reach M+. When I compare the results versus an nmea file recorded with another receiver (Sxblue3), There is about 18 sec time lag on reach M+ data.
I did a back and forth track with both receivers on same cart.
Let me propose that if the error happens to be on the Emlid side, then the reason could be that your M+ has connected to a known Wi-Fi network when it booted up. In addition, that the network has a NTP server running on it, and perhaps that NTP server is not serving the exact time.
If that is the case, then M+ could use that wrong time to set its system clock and tag the NMEA packets with a time that is incorrect because it is synched to your NTP server. (BTW: A router can be broadcasting or rebroadcasting NTP packets, or any other device on the network for that matter. You don’t have to explicitly set one up - so the packets could be there without your knowledge.)
If you delete or ‘forget’ the known Wi-Fi networks in your M+ (meaning it starts up in Wi-Fi hotspot mode), and then power it up outdoors, you will be sure to sync to GPS time and it should be exact. Now run your experiment again and see if it changes for the better.
Just in case, we should also make sure that you are not doing any networking over the M+ USB cable, as a connected device may serve the NTP packets to M+ through the USB cable. So, by powering M+ with a USB power bank or similar ‘dumb’ power source you would eliminate that as another possible source of error.