The problem is actually with PHP's native
timezone_name_from_abbr() method. When passing
'IST' to this method it returns
'Asia/Jerusalem' like we see in all these cases. Seems like this needs to be addressed on their level. I can create a patch to temporarily return
'Asia/Kolkata' instead but this is only a bandaid instead of a permanent fix.