DateTimeImmutable yielding distinct timestamps in distinct PHP runtimes

Running the following script:

var_dump(
    (DateTimeImmutable::createFromFormat(
        format  : 'Y-m-d H:i:s',
        datetime: '2120-10-03 07:00:00',
        timezone: new DateTimeZone('Europe/Zurich')
    ))->getTimestamp()
);

In PHP 8.2 produces the unix epoch timestamp 4757374800, which is correct.

When this script is executed on a server whose PHP version is 5.6, the value we get is incorrect 4757378400 (one hour too late).

Why does this happen?

Same happens if we compute the unix epoch second via:

date_default_timezone_set('Europe/Zurich');
$timestamp = strtotime('2120-10-03 07:00:00 Europe/Zurich');
echo $timestamp;