It isn’t a bug, because the API is returning the data that is required for creating the tags page. I was surprised to see the name returned for the id as well, but it is set explicitly in the code.
If you need to get a tag’s id, you can get it from the /tags/<tag-name>.json end point. What action are you performing that you need the tag id for?