I confirmed that gpg2 returns 2 since at least 2.2.0, which entered Factory in September. So this issue existed before, but only hit libzypp due to the changed sequence of calls I presume. Asked upstream: https://lists.gnupg.org/pipermail/gnupg-devel/2017-November/033287.html