Beware of teachers who tell you that something is "never" true in English. Exceptions abound, particularly when it comes to pronunciation.
Perhaps the best example is wind, which can be pronounced with the short i
heard in "win" and with the long i
heard in "wide", depending on the meaning of the word in its context.
It's also interesting how pint does not rhyme with lint, hint, glint, or tint, in the same way that gross does not rhyme with boss, loss, toss, or cross.
As for the o in gross, you're right – that's not like the short o
heard in "moss"; however, we could point out that it is like the long o
heard in "most", though not like the short o
heard in "cost".
If you stumble across a word you've never seen before (like phross, for example), you wouldn't know for sure if that rhymes with "gross" or "floss". All you can do is take an educated guess.
As James K said, this doesn't have anything to do with the spelling.
Different accents of English have different patterns for the use of "dark l" vs. "light l". As you mentioned, some accents are even described as having only one of these sounds. Accents with "both" sounds are often described as actually having a "gradient" of "darker" vs. "lighter" /l/s in different environments. So this is a pretty complicated question.
In general, there seems to be a tendency for "dark l" sounds to be used more often in American accents than in British accents.
In the British "Received Pronunciation" accent of English that is often taught to learners, "light l" is used before a vowel sound, even when the /l/ comes at the end of a word or after a stressed vowel. This accent would have "light l" in "killer", "bellicose", and "pullup". (I don't know if the "light l" in "pullup" might be a bit darker than the light l used in other contexts; that sounds somewhat plausible to me.)
In certain American English accents, "dark l" is used before consonants, and also word-finally, even when a vowel follows, but "light l" is used before a vowel in most word-medial contexts. These accents would have "light l" in "bellicose", but because "pullup" is a compound, I think it might have dark l. I'm also not sure how words like ""killer" are treated in these accents.
In other American English accents (like mine), it seems that "dark l" is used whenever the /l/ is not at the start of a metrical "foot" (either as the very first sound, as in "lucky", or as an element of the onset cluster in the first syllable of the foot, as in "climbing"). So I have "dark l" in killer, bellicose and pullup because the /l/ is not at the start of a foot, but I have "light l" in words like illiterate, illuminate, crystallography, collect where the /l/ is at the start of a stressed syllable.
I quoted some sources in my answer to a related ELU question: L in the middle of a word: dark l or light l?
Best Answer
The short I in the "es" suffix gets assimilated (or merged) with /i/ (i.e. the ee vowel) if it precedes it.
e.g. places /ˈpleɪsɪz/ vs. trophies /troʊfiz/.