svn:externals is a property set on directories in a subversion repository.
there are two classes of svn:externals, ones which specify a revision and ones which do not.
when creating a tag, the tag should only contain svn:externals which have been pinned to specific revisions, otherwise the tag is not a tag, i.e. it is subject to change.
A generic solution (i.e. not SVN specific) would be to add preTagGoals and postTagGoals so that a custom goal could be invoked around creating the tag.