The tags are stored through the media's content provider. In layman's terms, the content-provider is a way of Android interacting with a database backing store.
The location can be found in this directory:
/data/data/com.android.providers.media/databases
Which is Sqlite3 database that has the following information stored in it, or rather, a combination of certain columns, not all of them, due to the way developers can optionally add the fields of the data to be stored. (If you're un-rooted you will not be able to list the database - if someone can clarify this, just checked on Europa GT-i5500 which is unrooted and issuing ls
fails)
If you have a look at this document that details the columns used in the database for the Media (that is a generic columns that is a de-facto within the database), it is combined with this other information
(Now at this stage, your brain is probably turned to mush looking at it but the pertinent information is in the column names which is found in the database)
As for the 'Tag' field you're referring to, quite simply, Android does not store them, there are replacement apps that replaces the stock version of the Gallery with extras such as the 'tag' field you're referring to. The most it can hold was the latitude/longitude/display name of the image and a picasa id in which it may get uploaded to depending if picasa is enabled with your account.