Note that it might be more informative if you printed out tzOffset
before dividing by 3600, since that will drop out the odd minutes
offset.
Based on looking at the zoneinfo data, I think this is correct. Note
that your parsed time has no date. It is in the year zero. The
zoneinfo data for Tallinn says
Zone Europe/Tallinn 1:39:00 - LMT 1880
1:39:00 - TMT 1918 Feb # Tallinn Mean Time
1:00 C-Eur CE%sT 1919 Jul
1:39:00 - TMT 1921 May
2:00 - EET 1940 Aug 6
3:00 - MSK 1941 Sep 15
1:00 C-Eur CE%sT 1944 Sep 22
3:00 Russia MSK/MSD 1989 Mar 26 2:00s
2:00 1:00 EEST 1989 Sep 24 2:00s
2:00 C-Eur EE%sT 1998 Sep 22
2:00 EU EE%sT 1999 Nov 1
2:00 - EET 2002 Feb 21
2:00 EU EE%sT
In other words, before 1918, Tallinn apparently really was at an
offset of 1:39 from GMT. Since you are asking for the timezone in the
year zero, which is before 1918, you get the unusual offset.
So I think the result is surprising but technically correct.
Ian