Da quel che posso capire l’errore sta nell’uso di [tt]\ped[/tt] all’interno della [tt]\label[/tt], nell’attesa che gli esperti ci spieghino il perché, visto che l’etichetta puoi definirla come vuoi puoi usare il seguente codice, che non presenta quell’errore:
`\documentclass[a4paper,12pt]{article}
\usepackage[T1]{fontenc}
\usepackage{fontspec}
\usepackage{amsmath}
\usepackage[math-style=upright]{unicode-math}
\setmainfont[Ligatures=TeX]{TeX Gyre Pagella}
\setmathfont{Asana Math}
\usepackage{polyglossia}
\setmainlanguage{italian}
\usepackage{microtype}
%\newcommand\ap[1]{\textormath{\textsuperscript{#1}}{^{\mathrm{#1}}}}
%\newcommand\ped[1]{\textormath{\textsubscript{#1}}{_{\mathrm{#1}}}}
\providecommand*\ap[1]{\textormath{\textsuperscript{#1}}{_{\mathrm{#1}}}}
\providecommand*\ped[1]{\textormath{\textsubscript{#1}}{^{\mathrm{#1}}}}
\begin{document}
\begin{equation*}
p \leftrightarrow q
\end{equation*}
bla bla
\begin{equation}
p \leftrightarrow q
\label{equ:coimplicazione}
\end{equation}
bla bla
\begin{equation}
p \leftrightarrow q \tag{D\ped{2}}
\label{equ:$D_2$}
\end{equation}
\end{document}}`