Eu encontrei a resposta no final.
O truque é usar
<VirtualHost *:80 *:otherportnumber>
Desta forma, o nome do servidor funciona (porque escuta em: 80) e o endereço IP + número da porta funciona (porque nenhum outro host nomeado está escutando naquele número de porta)