Косяк оказался в устаревшей версии rs.filter.js в скопированной теме.
Обновил всё заработало.
Но если много характеристик и значений - лучше не делать.
Получается десятки (а может и сотни) тысяч страниц - которые либо нужно через SEO - контроль прописать уникальные мета-данные, - ЛИБО дубли.
Но с функционалом разобрался. Спасибо за подсказки от всех выше.
Ключевые моменты выделены жирным, особенно {if $prop_value==$value}, чтобы URL не для всех возможных вариантов на карточке товара, а только для конкретного товара - упустили выше :
{$maindir=$product->getMainDir()}
{$url=$maindir->getUrl()} {* Получаем нужный адрес *}
<tbody>
{foreach $product->fillProperty() as $data}
{$dataGroup = $data.group.title}
{foreach $data.properties as $property}
{$prop_value = $property->textView()} {if !$property.hidden && $prop_value != ''}
{$values_objects=$property->getAllowedValuesObjects()}
<tr class="tab-content_table_character-text">
<td><span>{$property.title} {if $property.unit}({$property.unit}){/if}</span></td>
<td><span>
{foreach $property->getAllowedValues() as $key => $value}
{$proper = $values_objects[$key].alias}
{if $prop_value==$value}
<a href="{$url}{$property.alias}_{$proper}/">{$value}</a>
{/if}
{/foreach}