If you go to the console page, click on applications, click on devices, click on that device and then click on settings. At the bottom of the page is a check box where you can disable frame sequence checks, make sure you set it to disabled. Since you are using ABP activation, the sequence numbers will start at zero when you power cycle the device. If sequence number checks are enabled, the network will think that a replay is occurring and will ignore the frames until the sequence number exceeds the number seen by the network so far. I’m pretty new at this too. -39 dBm seems a little low, but maybe not. Using a bsfrance lora32u4, I get stronger signals using the cheesy little circuit board antenna about 15’ from my gateway, indoors. I usually get about -30 for signal strength, sometimes as low as -39 depending on how I orient it. 10dB SNR sounds about right though. I was expecting a little more from your gain antenna, but it is further away and signal drops fast at first. It’s an inverse square kinda thing, so maybe -39 is about right after all. Like I said, I’m new at this too, but I’ve been tinkering with electronics and RF for a llong time. 40F isn’t terribly cold, -40F might be a little different though. Are you using the same antenna when you bring it indoors? If not, check the connectors and make sure that one has a pin and the other a socket for the pin. There are two kinds of SMA connectors, normal and reversed as well as male and female, so really there are four different connectors in SMA world. I don’t know why, I just know there is.
Edit:. After thinking about it, if it was a sequence number issue, the gateway logs in the pi would still show the frames being received. It doesn’t know anything about that, it’s the backend that does that.