¿Cómo seleccionar campos de una asociación contenida?

Me gustaría ejecutar la siguiente consulta donde me gustaría leer solo los campos necesarios de los asociados.
Usé una notación de punto enselect() a continuación para explicar mejor lo que quiero.
Básicamente elselect() parece preocuparUsers solamente. ¿Es posible especificar los campos deSites?

$orders = $this->Orders->find()
    ->contain([
        'Sites.Users'=> function ($q) {
            return $q
                ->select([
                    'Sites.id',
                    'Sites.user_id',
                    'Users.id',
                    'Users.name',
                    'Users.owner_id',
                    'Users.firstname',
                    'Users.lastname'
                ])
                ->autoFields(false);
        },
    ])
    ->first();