If i understand you right then
  *  login tag creator is john AND john is defined as a fossil user
  *  the default user is doe
  *  if john executes "fossil tag new johntag" (in an open checkout!)
  *  then the tags are marked with user john
  *  if lear executes "fossil tag new leartag" and he has no fossil login and user anonymous has right to  tag Then the default user doe is used!

I don' think it is a defect could you check again?