You are correct.
The last train from Faro to Lisbon leaves at 17:00 hrs.
It may appear early but public transport in the Algarve shutdown early.
Coach Operator http://www.rede-expressos.pt/ have buses leaving from Faro Bus Station for Lisbon Sete Rios Bus Station at 19:00, 19:30 and 20:30.
Transit time is between 3 hours 15 minutes and 4 hours.
Your friend would need to take a taxi between Faro Airport and Faro Bus Station. There is a local bus Nº 16 leaving Faro Airport at 17:40.