ちなみに

精度の落ちるキャスト(ナローイング?)をダウンキャストって言ってる例もwebにはあるので結局正しいかどうかは不明。あと上のコードですが、nullになるからdynamic_castが悪いというわけではなくて、nullになったら不正なキャストということ。普通のキャストにして、動いたとしても正しい結果は得られないし。