Here is the usual scenario.................
Customer checks in online at the 24 hour mark.
At some point after they check in, EAU runs and that customer is upgraded.
The customer asks the GA about an upgrade. The GA looks at what First is checked in to and sees that First is full and tells this to the customer. The GA does not realize that First is full including this customer.
If I may suggest............instead of asking about an upgrade at the gate,
ask the GA to verify your seat assignment.
This is the best way to avoid miscommunication and having to move after boarding.
Have a great day!