"siento haber llegado tarde" jest poprawnie. To jest zastowanie czasownika posiłkowego do stworzenia bezokolicznika (bezokolicznik złożony). Taka konstrukcja wskazuje, że mowa o czynności całkowicie zakończonej i jest jak najbardziej prawidłowa.
Co do drugiej konstrukcji podanj przez Ciebie to raczej "siento, que haya llegado tarde". Ale to odnosiłoby się raczej do dalekiej przeszłości.
Pozdrawiam.