According to the official python mt5 documentation, the copy_rates function must create a 'datetime' objects in UTC time zone to avoid the implementation of a local time zone offset
Regardless of the time zone you use, it'll always represent the UTC timezone to get candle data. For this reason, when adding 3 hours in the now function, the dataframe displayed the value you wanted.