A palavra subsídio pronuncia-se em Portugal com s e, segundo os dicionários brasileiros que consultei, também no Brasil.
A fixação da pronúncia das palavras é determinada por diversos factores, pelo que nem sempre há regras sem excepções. O seu professor ensinou servindo-se de uma regra geral: como o s intervocálico se pronuncia sempre /z/, este, que não está nessa posição, pronuncia-se /s/. É um raciocínio simples para uma criança que está a aprender; e assim deve ser. Mais tarde, o professor explicar-lhe-ia que, na maior parte dos casos, a pronúncia tem uma justificação de natureza etimológica e histórica e que, por vezes, nos faltam documentos que nos elucidem por completo sobre as diversas fases por que sucessivamente foram passando os sons das palavras até hoje.
No caso de subsídio, este é um exemplo de palavra começada por sub-. Em todas as palavras que tinham este prefixo já no latim ou que se formaram posteriormente, o s seguido de vogal após o prefixo tem o som de /s/, sentido como uma consoante inicial de palavra, a palavra primitiva à qual se teria juntado o prefixo sub-.
Quanto às palavras transacção e trânsito, as palavras formadas já no latim ou posteriormente com esse prefixo trans- seguido de vogal pronunciam-se hoje com /z/ (transabdominal, transalpino, transamazónico, transatlântico, transoceânico, transumância, por exemplo). O s de trans- só se pronuncia /s/ antes de vogal se o outro componente da palavra começar por s (transariano = trans- + sariano, transexual = trans- + sexual, transubstancial = trans- + substancial, por exemplo). Repare que esse prefixo trans- só graficamente é que tem uma consoante antes do s; foneticamente estamos perante uma vogal nasalada, o que leva o s a ficar entre duas vogais quando se lhe segue uma palavra começada por vogal.
A palavra obséquio (cujo s se pronuncia /z/) tem a sua origem no latim ‘obsequiu-’ e pertence à mesma família de obséquias (= exéquias).