I had a similiar issue to this however it only affected the hot-wallet (watching wallet) because it wouldn't sync. I've upgraded that version and managed to get the transaction signed on the offline computer.
You might find that having different "hot" and "cold" wallet versions may not work... Users have had difficulty in the past with this sort of setup because the unsigned transaction format changed slightly between certain versions of Electrum... so the older version on the offline machine was unable to decode and sign the unsigned transaction created by the newer version. Keeping the online and offline wallet versions the same is generally considered best practice.
I assumed Segwit was backwards compatible so using old versions should still work?
Technically it is backwards compatible at the raw Bitcoin protocol level...
However, with Electrum, you have extra layers on top... So, it's more that the older versions of Electrum don't quite know how to handle the "unexpected" data, and can end up in an endless synchronising loop. I believe that when you export an unsigned transaction in Electrum, it includes all the necessary transaction data for the offline system to be able to sign it... so if your exported, unsigned transaction includes SegWit outputs, the older offline version may not know how to handle that and fail to sign the transaction.