Timeouts during initial GCS communication exchange

I have a quad with a Matek F405-SE which is connected over serial to a raspberry pi 0W, which in turn has an LTE connection which it uses to talk to a QGroundControl ground station over a VPN. I also have a SiK radio on a different serial port on the Matek as a short-range backup.

The Pi quickly connects to the ground station and begins exchanging information. Awesome. The SiK radio does the same when I use it instead (without the Pi). Great.

But they will both (individually) disconnect after a few seconds and I get messages about time-outs while exchanging the big one-off pieces of data: flight plan, geofence, etc. It works, albeit slowly, if I connect directly to the FC over USB/Serial0 (912600 baud). So I figured the non-wired connections were just being overwhelmed. The LTE connection is strong and has bandwidth to spare, so I tried raising the Pi <-> FC baud rate to 115200, then 912600, then 1500000… still not helping with the timeouts.

Is this a known issue with the Matek FCs? The SiK radios and Matek FCs seem pretty common, so I am surprised I haven’t heard anything about this issue. It makes ground station telemetry totally unusable for me. It connects, starts transferring data, disconnects, and never comes back. FC will fly happily with GCS failsafe disabled and it will even send telemetry to my radio (Taranis / S.port / yappu script). It just won’t talk to my ground station.