Get related variants from entry and then show products for related variants and then loop only the variants that are related in commerce
After some further trial and error I have made this work like so.
However, it feels like there is or should be a simpler method....what am I missing or what is a better approach?

{% set selectedVehicle = craft.entries
  .section('vehicles')
  .id(vehicle)
  .with( [
    'vehicleBrand',
    'oemFixings',
    'afterMarketFixings'
  ])
  .one() %}

{% set variantsQuery = selectedVehicle.relatedVariants %}

{% set variantsByIDS = [] %}

{% for variant in variantsQuery %}
  {% set variantsByIDS = variantsByIDS|push(variant.id) %}
{% endfor %}

{% set wheelSpacers = craft.products
  .type('wheelSpacers')
  .hasVariant(variantsQuery)
  .orderBy('title ASC')
  .all() %}


Now Show the products and then loop only the variants that are related to the vehicle.

{% for product in wheelSpacers %}
  {% set productVars = product.variants|filter(purchasable =&gt; purchasable.id in variantsByIDS) %}
  &lt;div class=&quot;mb-6&quot;&gt;
    &lt;h2&gt;{{ product.title }}&lt;/h2&gt;
    &lt;div class=&quot;mb-3&quot;&gt;
      &lt;p&gt;{{ product.id }}&lt;/p&gt;
      &lt;p&gt;This product has &lt;strong class=&quot;text-sea-500&quot;&gt;{{ product.variants|length }} options&lt;/strong&gt; in total&lt;/p&gt;
      &lt;p&gt;Only &lt;strong class=&quot;text-sea-500&quot;&gt;{{ productVars|length }} options&lt;/strong&gt; are related&lt;/p&gt;
    &lt;/div&gt;
    
    
    {% for purchasable in productVars %}
      {{ purchasable.title }}
    {% endfor %}
  &lt;/div&gt;
{% endfor %}