<p>When we add a variable to ASP.NET Session, where are those variables actually stored on the client side?</p>

If you are using the default session in ASP.NET then it is stored in memory inside the ASP.NET worker process. It is a server side cache, nothing at all to do with the client.
There are other session store options available such as dedicated session state machine or sql server. You can also roll your own session provider.
All explained here
http://msdn.microsoft.com/en-us/library/ms972429.aspx