Set label anchor within node style definition

Referencing Node baseline in tikz and Section 5.1 Styling the Nodes of the pgf manual:

The problem of mismatching baselines is caused by the fact that . and digit and E all have different heights and depth. If they all had the same, they would all be positioned vertically in the same manner. So, all Ilka needs to do is to use the text height and text depth options to explicitly specify a height and depth for the nodes.

So, if we use, for example

every label/.append style={text depth=.25ex,color=blue,},

then we obtain

enter image description here

Here's a complete example

% arara: pdflatex
\documentclass[margin=5mm]{standalone}

\usepackage{tikz}
\tikzset{mynode/.append style={circle,fill=black},
    every label/.append style={text depth=.25ex,color=blue,},
}
\begin{document}

\begin{tikzpicture}
  \draw  (0,0) node[mynode,label={Aa}] (n1) {}
    -- (1,0) node[mynode,label={Ag}] (n2) {}
    -- (2,0) node[mynode,label={Bb}] (n3) {};

\end{tikzpicture}

\end{document}

The problem is that the anchor gets overwritten. In other words, every label gets applied too early. As a workaround, I added a second version of every label, every label add, which gets applied later. If you then say

every label add/.style={anchor=base}

the anchor will be set as desired.

\documentclass[margin=5mm]{standalone} 
\usepackage{tikz}
\makeatletter% from tikz.code.tex
\def\tikz@@parse@label@nonactive[#1]#2:#3:\pgf@nil{%
  \tikzset{%
    append after command = {%
      \bgroup
        [current point is local=true]
        \pgfextra{\let\tikz@save@last@fig@name=\tikz@last@fig@name\tikz@node@is@a@labelfalse}
        node [every label,
              tikz@label@angle = #2,
              anchor=@auto,
              every label add,%<- added
              #1,
              tikz@label@post = \tikz@label@distance] {\iftikz@handle@active@nodes\expandafter\scantokens\else\expandafter\pgfutil@firstofone\fi{#3\noexpand}}
        \pgfextra{\global\let\tikz@last@fig@name=\tikz@save@last@fig@name}
      \egroup}}}%
\tikzset{every label add/.style={}}
\makeatother

\begin{document}

\tikzset{mynode/.style={circle,fill=black}}

    \begin{tikzpicture}

        \draw  (0,0) node[mynode,label={[anchor=base,yshift=2pt]Aa}] (n1) {}
            -- (1,0) node[mynode,label={[anchor=base,yshift=2pt]Ag}] (n2) {}
            -- (2,0) node[mynode,label={[anchor=base,yshift=2pt]Bb}] (n3) {};           

    \end{tikzpicture}


    \begin{tikzpicture}[every
    label/.append style={yshift=2pt},every label add/.style={anchor=base}]

        \draw  (0,0) node[mynode,label={Aa}] (n1) {}
            -- (1,0) node[mynode,label={Ag}] (n2) {}
            -- (2,0) node[mynode,label={Bb}] (n3) {};           

    \end{tikzpicture}

\end{document}

enter image description here

It may conceivably make sense to make a feature request for something of that sort.