#3 Beide Formen sind richtig, kann man universell verwenden. Wenn man Genaueres rauspicken will ist es so, dass bei cuando llegue (Presente de Subjuntivo, eine imperfektive Zeit, unvollendet) eben die Ankunft gemeint ist, die so als Event angesehen wird, bei haya llegado (Perfecto de Subjuntivo, eine perfektive Zeit, markiert das Ende) es nur darum geht, das als dann abgehakt anzusehen.
Darüber hinaus ist das auch regional unterschiedlich, weil in manchen Regionen zusammengesetzte Zeiten grundsätzlich seltener verwendet werden. Wenn du jetzt vor der Wahl stehst, das selbst auszudrücken, würde ich es davon abhängig machen, ob die Ankunft etwas ist, was u. U. Freude oder ein Wiedersehen bereitet (cuando llegue) oder ob man jetzt nur drauf wartet, um zum nächsten Tagesordnungspunkt fortschreiten zu können (cuando haya llegado).