Is the "user class" a custom object that is linked to the lead after creation? Or is it simply a field on the lead that is included on a form?
If the former, you can have a race condition as the trigger will not wait for an additional API call to complete.
If the latter, AFAIK there's no race condition because the lead will be atomically created, with the field values filled, before the trigger fires.
In other circumstances, you can have races because, for example, Change Data Value flow steps happen asynchronously so new values can't be used immediately within the same flow. It's good to make use of Data Value Changed triggers to avoid these conditions.