Hi there,
I asked one of our developers about this, according to him, when you whitelist your CPT, as you’ve done already, its associated taxonomies are indexed by Jetpack, but they’re not automatically used for Related Posts.
Then you should be able to use this filter to enable the custom taxonomies:
https://developer.jetpack.com/hooks/jetpack_relatedposts_filter_filters/
You can see an example of how to use that filter here:
https://jetpack.com/support/related-posts/customize-related-posts/#exclude-cats
but in this case, you’d use it to include a specific taxonomy.
There are docs on the syntax you can use in ElasticSearch filters here:
https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-body.html
https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-bool-query.html
You can then test it by doing some queries to the WordPress.com REST API to see the kind of data they can get back for a specific post type:
https://developer.wordpress.com/docs/api/1.1/get/sites/%24site/posts/
If you need an example, here is a site where a custom post type was added to the WordPress.com REST API whitelist. As a result all posts of that post type, alongside any custom terms that may be attached to each post, are now synced and indexed on WordPress.com (data narrowed down to just the terms):
https://public-api.wordpress.com/rest/v1.1/sites/53262711/posts/36986?fields=terms
You can use the REST API console to make such test queries against your site:
https://developer.wordpress.com/api/console
https://developer.wordpress.com/docs/api/1.1/post/sites/%24site/posts/%24post/related/
We’re not able to help you with the actual code that you’d need to do this, but hopefully this will help you figure it out, or if you want to hire someone to do this for you this will give them what they need to implement this for you.