What you are seeing is correct. What the tag command does is bookmark the last change executed, so when you rollback to that tag, it will roll back all changesets after changeSet bookmarked. Since the 1.9 codebase just uses the date executed as an order by to determine the last changeset, if your databases does not support time precision smaller than the execution time of the last few changeSets, multiple ones may be marked. That is fine, though, because the order of the changelog is used to determine on rollback what the actual last changeSet is.
So for you, if you roll back to your tag, everything after the 5 tagged changeSets will be rolled back. If you roll back to the tag before then all 15 changes will be rolled back.