Couple of things, forget about the RSSI in a link budget calc, relate everything to SNR. The quoted figures for sensitivity are unlikely to be achieved in the real world. The max quoted sensitivity for a LoRa device is -149dBm, that would imply that the LoRa device would be receiving signals at 40-50dB below noise level (as seen by the LoRa receiver), whereas the maximum performance is 20dB below noise.
Second, ignore the antenna gains, they are both in use for RX and TX so it matters little what their respective gains are.
So we are left with power and SNR.
SF9 has an SNR performance of -12.5dB
SF12 has an SNR performance of -20dB
So with a 7.5dB SNR difference the SF9 end should only need 7.5dBm more power than the SF12 end for a symmetrical distance link. In other words the SF9 end should only been to use 14dBm + 7.5dBm = 21.5dBm to reach the SF12 end.
However, its entirely possible that either end of the link is being impacted by locally generated EMI, either from other transmitters or power supplies or processors. This EMI could loose one end the the link the 5.5dB performance.