In general, if Windows time zones like this don't work:
TimeZoneInfo tzi = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time");
... then you're not running on Windows and either you're not using .NET 6 or higher, or you don't have ICU data available in your environment. Either way, you should be able to use IANA time zones:
TimeZoneInfo tzi = TimeZoneInfo.FindSystemTimeZoneById("America/Los_Angeles");
Alternatively, you can use TimeZoneConverter to work with either form:
TimeZoneInfo tzi = TZConvert.GetTimeZoneInfo("Pacific Standard Time");
or
TimeZoneInfo tzi = TZConvert.GetTimeZoneInfo("America/Los_Angeles");