If I were to guess it sounds strange to you because native speakers would use "опоздать" 99 out of 100 times when it comes to vehicles. I'd say it's a set-phrase. But I don't see any problem with "не успеть" though, at least grammatically. But I had this feeling that something was not right when reading the sentences for the first time.