Non, c'est une erreur de conception que de vouloir récupérer un pointeur vers la classe fille parce que la classe mère ne suffit pas. Cette dernière est donc mal conçue.
L'histoire du const vient d'un rpoblème qu'on ne peut pas voir d'ici. Tu transformes ton pointeur intelligent qui pointe sur un objet constant en un autre pointeur vers une donnée non constante. Ca ne peut pas marcher.