The java.util.Date()
object returned from any of Ignition's date and time functions, whether expression or script, Has No TimeZone! It is always UTC milliseconds. It is converted to a zoned format when converted to string.
So, if converted to a string in the gateway, it will use the gateway timezone. If in Perspective, in the browser, it will use Perspective's client timezone.
If you convert to string yourself, in a script or expression in Perspective, since those run in the gateway, you will get the gateway's timezone.