¡Gracias! También encontré Reemplazar los iconos SVG predeterminados de Discourse por iconos personalizados en un tema
Al final, incrusté el sprite SVG directamente en el archivo Header, ya que subirlo y nombrarlo como indica el artículo no funcionó para mí (podría ser un error mío, por supuesto).
Así que mi Header es:
<svg width="0" height="0" class="hidden" style="display: none;">
<symbol id="myicon-search" ..... </symbol>
<!-- todos mis símbolos aquí... -->
</svg>
<script type="text/discourse-plugin" version="0.8">
api.replaceIcon('search', 'myicon-search');
</script>
Y eso es fácil de gestionar.
Uso el generador de sprites SVG en https://svgsprit.es para asegurarme de que el formato sea correcto.