Obviously, if you switch between windows' timezones and TZDB then the timezone Ids will be different. Olson timezone Ids are meant to be stable and should not change. Even though I say that, there have been changes in the past, but the old Ids still exist and are aliases for the new ones. All the "region/city" ids are the new style and that scheme was chosen so that they should never have to change again. Old ids were sometimes named based on legal names of timezone which are subject to change.
We are storing the Olson Id of the timezone in a table on my current project.
I can't speak for windows timezone ids.