I found the problem. Declaring the $_has_many property in my User model was overwriting the same property in Kohana source file, which contained roles and tokens information.
Solved by copying the values from Kohana's Model_Auth_User and adding my property:
protected $_has_many = array(
'user_tokens' => array('model' => 'User_Token'),
'roles' => array('model' => 'Role', 'through' => 'roles_users'),
'clients' => array('model' => 'Client', 'foreign_key' => 'user_id'),
);