in reply to why does this subclassing not work?

It doesn't work because Perl::Critic::Command always calls Perl::Critic::Command::_render_policy_docs, so even Perl::Critic::Command::RenderPolicyDocsAnnopod always calls Perl::Critic::Command::_render_policy_docs.

You're going to have to override(redefine) Perl::Critic::Command::_render_policy_docs, or convince Perl::Critic::Command author to make subclassing easier ( use $self->_render_policy_docs instead of _render_policy_docs).