Using the SDK, cloud tasks are always created with default deadline, ignoring setDispatchDeadline

We are creating tasks using the following code with the SDK:

use GoogleCloudTasksV2ClientCloudTasksClient;
use GoogleCloudTasksV2HttpMethod;
use GoogleCloudTasksV2HttpRequest;
use GoogleCloudTasksV2OidcToken;
use GoogleCloudTasksV2Task;

...

$client = new CloudTasksClient();
$parent = $client->queueName(self::PROJECTE, self::REGIO, $this->cua);
            
$httpRequest = new HttpRequest();
$httpRequest->setHttpMethod($metode);
$httpRequest->setUrl(self::prepararUrl($url, $metode, $this->parametres ?? null));
$httpRequest->setHeaders(self::prepararHeaders($headers));
            
if ($parametres && in_array($metode, [HttpMethod::POST, HttpMethod::PUT, HttpMethod::PATCH])) {
    $httpRequest->setBody(http_build_query($parametres));
}
            
if ($this->cua === self::CUA_PERMISOS) {
     $oidcToken = new OidcToken();
     $oidcToken->setServiceAccountEmail(self::SERVICE_ACCOUNT);
     $oidcToken->setAudience(self::URL_SERVEI_WORKER);
     $httpRequest->setOidcToken($oidcToken);
}
            
$tasca = new Task();
$tasca->setHttpRequest($httpRequest);
$tasca->setDispatchDeadline((new GoogleProtobufDuration())->setSeconds(1800));
            
$request = (new GoogleCloudTasksV2CreateTaskRequest())->setParent($parent)->setTask($tasca);
$client->createTask($request);

This is creating tasks with deadlines of 600 seconds, ignoring the 1800 set on the request:
Log for the task created

Acording to the docs, the maximum value is 1800 (30 minutes) for Cloud Task dispatching an HTTP request.

We are using PHP 8.3 with these libraries:

{
  "google/apiclient": "^2.18",
  "google/cloud-storage": "^1.36",
  "google/cloud-logging": "^1.31",
  "google/cloud-error-reporting": "^0.22.7",
  "google/cloud-tasks": "^1.15"
}

Any insight on how/why this happens?

We tried passing a string directly instead of the Durationobject to the method Task::setDispatchDeadline, but the result has always been the same.