OH2: add hours to DateTime (time zone conversation)

A caution, unrelated to your time troubles; the remote repository for OH2 has changed. Which means an existing set-up will not be able to add new features. Worse, in the case of some minor disaster OH2 could attempt to refresh all add-ons. Then you will be in deep trouble, because it can’t.

If I were you I’d get ahead of that disaster before it bites you

Okay, that’s good. This is in ISO8601 format which is accepted to update an openHAB Datetime Item.
The Z at the end instructs openHAB that this timestamp is in UTC.

What I would expect to happen here -
OH Item state holds the UTC value (from MQTT)
So that’s what you see in logs, rules etc. together with the Z 0000 zone.

But when you display via sitemap, OH framework autoconverts to local timezone before formatting.
So if your local zone was +1 you’d see 00:46 in Basic UI

which should all do as you asked here, without further work.