I do not claim that what you wrote is not true. Nonetheless I believe that this word is pronunced atypically because historically the word '여행' used to be '려행'. Therefore '수학려행', according to rules of Korean phonology, would be pronunced just as '수항녀행'. Nowadays, word '여행' lost its initial 'ㄹ', but it still kinda exists in some compound words.
Similarily, '십육' sounds like '심뉵' because the historical form was '십륙'.
You shouldn't be too surprised if I told you, that the North Korean standard spelling preserves these old forms: 려행, 수학려행, 륙, 십륙 etc.
I'm curious if knowing the roots historically is enough to keep track of which ones get the non-orthographic ㄴ. Similar rules in other languages are affected by hypercorrection and have historically false irregularities justified by pendants on grounds of "historical knowledge." (British usage of fetus as "foetus," virus having the plural "virii," octopuses plural "octopi.")