All expiration and allocation of eVars are done server side.
Each eVar allocation and expiration is linked to a visitor profile, so to the visitor ID that is sent.
Lets say if allocation is last and expiration is day then when the server call is send with eVarN = value1, then the column eVarN will be set to value1 and post_eVarN will be set to value1. On all subsequent server calls received from the same visitor ID, the expiration calculation will be done server side and value1 will persist in column post_evarN until expiration or until a new value is set. The column that I refer here is linked to the Data Feed that can extract in adobe analytics.
In terms of the timestamp, if the report suite is not timestamp enabled (meaning that you do not send a custom timestamp), then adobe analytics server will set a timestamp at the time the server call was received by its server, then it will calculate the date based on the timezone settings of the report suite and the timestamp set at the time the server call is received.
There is eVar value stored at the client side, the only things stored would be cookies for visitorId and for some plugin usage.
It is a simplistic way to explain it but I believe it is done this way.