So upgrade list processed with no seats left. All remaining people on list boarded, but one pax who was counted as a "claimed" F seat never actually made it to the gate.
GA should have recognized this and upgraded the next person on the list from on board.
But since the official rules say "you board, you lose", the FA decided to upgrade a nonrev from another airline.
IMHO both the GA and the FA missed the mark. Unless the seat was allowed to remain vacant (which would have been technically correct under my scenario), they should have upgraded someone off the list.