Apparently this is due to extensions on the SystemV naming conventions that does affect the "Etc" timezones and not just directly setting TZ to "GMT+X" (e.g. in my example, "Etc/GMT+2" is affected) - I was not aware of the history of the issue, and someone did explain. If that's true, the bug I suppose could be considered somewhat invalid, but as a user I did not expect that behavior and wouldn't expect other users to expect it either (it took a while to find someone with an answer). If the expected behavior is "Using GMT+X in tzconfig to set an 'Etc/GMT+X' timezone actually subtracts X rather than adds X" perhaps a note in tzconfig that these are "backwards" would be an appropriate short term resolution. It took me a while to stumble on the answer.
Another suggested alternative would be to support something like "TZ=+0500" which doesn't have any SystemV legacy and is ISO 8601 style formatting.