WordPress のドキュメントを読んだ感じでは、 list_cats フィルターフックが利用できそうです。
functions.php で、下記のような list_cats
フックを利用してフック内で表示するか条件判定すれば、特定の投稿タイプで使用されているカテゴリーだけの「カテゴリーリスト」を出力できると思います。
post_type には、表示したい投稿タイプの slug を指定してください。
管理画面とメインループは、除外していますが、is_archive() や is_category() 等の 条件分岐タグ を利用して、適用されるテンプレートファイルを絞った方が良いかもしれません。
PHP
1add_filter( 'list_cats', 'my_list_cats_tt169940', 10, 2 );
2function my_list_cats_tt169940( $cat_name, $cats ){
3 if ( is_admin() || is_main_query() || is_home() ) {
4 return $cat_name;
5 }
6
7 $args = array(
8 'posts_per_page' => 1,
9 'post_type' => array( '投稿A-slug', '投稿B-slug' ),
10 'category' => $cats->cat_ID,
11 );
12 $my_posts = get_posts( $args );
13
14 if( !empty($my_posts) ){
15 return $cat_name;
16 } else {
17 return;
18 }
19}
テスト環境で動かしてみた感じでは、特に問題なさそうですが、何か副作用が出る可能性はあるので、十分に確認してから利用してください。