Creo que su sintaxis es incorrecta porque la matriz de opciones debería tener una clave para las uniones. Parece que tiene una array
extra . Prueba:
$this->set('users',$this->User->find('list',
array(
'fields' => array('User.id', 'User.first_name','location.country'),
'joins' => array(array('table' => 'location',
'alias' => 'location',
'type' => 'INNER',
'conditions' => array('User.id = location.id')
))
)
));