I started this question thinking specifically about the Jelly Bean synonym issue, as exposed below, but then I realized that it can probably be generalized.
I think we should always synonymize versions to code names and not the other way around. While it can happen for different versions to share the same code name, the opposite seems quite unlikely.
Another approach could be to use both version numbers and code names in the tag name, as suggested by Al Everett in the comments. This has been done in Android Enthusiast, where for instance Android 4.3 questions are tagged
As a follow up to Merge and synonymize Android version tags and https://meta.stackexchange.com/questions/203882/synonym-request-kitkat-android-4-4, we currently have
but Google kindly named Android 4.3 Jelly Bean as well.
So we have this situation
Since it makes no sense for a synonym to point to two different tags, how can we handle this?
Should we invert the synonym relationship and have