Dans les coordonnées présentes dans une instruction de Tikz, Ti*k*Z, on peut mettre une valeur numérique (qui est alors interprétée avec l'unité par défaut) mais on peut aussi mettre une expression avec une unité, ce qui spécifie une longueur.
En l'occurrence, `\ay` contient `28.45274pt` (et non seulement `28.45274`). En utilisant `\ay` plus loin, l'unité est présente et est correctement utilisée.
`\ay` n'est un registre de dimension de TeX mais une macro de TeX.
Pour faire la conversion en cm, il existe une macro `\dim_to_decimal_in_unit:nn` dans `expl3`.
Comme c'est une macro interne, on doit écrire écrire une sur-macro pour l'utiliser dans le document courant. Je l'ai nommée `PtToCm`.
\documentclass[french,a4paper]{article}
\usepackage{tikz}
\usepackage{xparse}
\ExplSyntaxOn
\NewDocumentCommand \PtToCm { m } { \dim_to_decimal_in_unit:nn { #1 } { 1 cm } }
\ExplSyntaxOff
\begin{document}
\begin{tikzpicture}
\draw (1,0) arc (0:90:1);
\pgfgetlastxy{\ax}{\ay} % (pas de point virgule pour commande pgf)
\draw (3,0) node[draw]{$\PtToCm{\ax} ,\PtToCm{\ay}$};
\fill[red] (\ax,\ay) circle (5pt);
\end{tikzpicture}
\end{document}