カスタム投稿タイプは別にいいとしても、実はこれ固定ページのコメントに関しても機能していない。その理由は、この機能を対象とするpost_typeの配列を引数として渡すところで、もれなくarray ( ‘post’ )を渡してしまっているためです。この値はフィルターで変更可能ですが、別にフィルターの前に定義されているわけではない。つまり、array ( ‘post’ )それ自体がフィルターの初期値になっていて、何もしなければこの初期値が返される感じになってます。

フィルター名はclose_comments_for_post_types、ソースファイルはwp-includes/comment.phpです。

function mytheme_close_comments_for_post_types( $post_types ) {
	return array ( get_post_type() );
}
add_filter( 'close_comments_for_post_types', 'mytheme_close_comments_for_post_types' );

引数の$post_typesにはarray ( ‘post’ )が入っています。同じページに複数のコメントフォームがあることなんてない(とはいえないけど一般的にない)ので、get_post_type()の返り値のみを配列にして返せばいいと思われます。