A resposta é não tentar alterar o HOST, mas alterar o caminho usado para localizar arquivos localmente.
RewriteCond %{HTTP_HOST} secondary.ext$ [NC]
RewriteRule ^(.*)$ /domains/primarydomain.ext/secondary$1 [L]
Editar Se você estiver obtendo um loop infinito, adicione outra condição para excluir solicitações já existentes na pasta secundária após a condição HTTP_HOST e antes da Regra:
RewriteCond %{REQUEST_URI} !^/secondary/.*