I’ll add my 2 cents.
We noticed that our outbound connections (over VPN) have trouble re-connecting when “Wait for ACK Timeout” is set to “-1”. But, those same connections just fix themselves when configured with a reasonable timeout value… No keepalive changes necessary.
Of course, rather than just reconnect all the time, also treat the problem by applying the suggested keepalive fixes.