So here was our data, and I've added in ones from the comments that seem to match the original ones:
Words where B says something non-adult:
/guitar/ ---- [gtar]
/asparagus/ ---- [paragus]
/korean/ ---- [krean]
/japan/ ---- [jpan]
/dessert/ ---- [sewert]
/gorilla/ ---- [grilla]
/spaghetti/ ---- /sketti/
/bikini/ ---- [vkini]
Words where he speaks all adult like:
/japanese/ ---- [japanese]
/cooking/ ---- [cooking]
/spider/ ---- [spider]
/china/ ---- [china]
/desert/ ---- [desert]
Robin S figured it out in her comment. It's a matter of stress. In the words like China and Cooking and Spider, the stress is on the first syllable. However, in all the ones B says funny, it's on the second syllable. CHIna, SPIder, DESert, have first syllable stress, but koREan, aSPARagus, biKIni, etc. have second syllable stress.
There could be at least two things going on. One is that he could be hearing things differently than an adult, or he could be hearing them the same but pronouncing them differently. There's a case for the hearing argument:
For us as native speakers of English, someone speaks and we immediately hear, "Paca makes my heart melt with his animal magnetism." We all hear that a lot, I think. But that's only because we are adult speakers of the language (and right-thinking people) and we divide up the words without even trying. However, the actual speech we hear has no pauses between words, or at least there's only a pause every few words. The sound that hits your ears is actually something like, "pakameiksmaihartmEltwIthhizaenimalmaegn^tIzm]. But an adult immediately segments it all up into words. But a child, who may not even know the words at all, does not know how to find them in that wall of sound. One thing that children seem to use to find words in Engish is stress. I'll just add stress now to that long string, and you will suddenly see words falling out.
I know it's hard to read the made-up phonetics, but see how the stressed syllable is the beginning of each word? In fact it works perfectly there with no errors, ignoring some function words (and heart, but, well, it gets complicated). Every stressed syllable starts a word. So a child uses stress to find words and usually in English the first syllable of the word is the stressed one. CHIna, SPIder, etc.
But what happens in the unusual cases? What happens when the second syllable of the word is stressed? Well, if you keep applying the rule, then you divide up the speech in the wrong way. BLAHblahBLAHblahgoRILla ends up, "BLAHblah BLAHblahgo RILla". goRILla is Rilla, aSPARAgus is Paragus, koREan is Rean.
In this account, children are pronouncing the word that they know just fine; it's just that they've got the wrong word.
The pronunciation account, the story about them speaking or producing words, is basically the same except that instead of mishearing words with the second syllable stressed, they hear the word just fine, but they start speaking the word on the stressed syllable. If you start the word on the stressed syllable, you are usually right. SPIder, PAca, STUDly, MANbeast. But if you follow that pattern on the a second syllable stress word, you get messed up and end up dropping the first syllable. RILla, KIni, GETti.
It's more likely that this is what B is doing. He seems to hear the whole word gorilla just fine. It's just that he has a really hard time not starting with the stressed syllable when he speaks. And so he, and many other children, do "repairs". He hears the 'g' on gorilla, but can't stop himself from starting on the stress and ends up with "grilla", "krean" and even weird consonant sequences that don't exist in English like "jpan" and "gtar".
The desert / dessert case has some additional things going on. To me, it seems like for "dessert" he wants to start on the stress, which would just give "sert", but perhaps knows there's a second syllable, so he sticks one in the middle of "sert" to yield "sewert".
SHORT ANSWER: the easy words are stressed on the first syllable; the hard words are stressed on the second.
It's worth mentioning that these are all language specific properties. Many languages don't have true stress at all, such as Japanese and Korean. Others have stress in different places. French almost always stresses the last syllable (bonJOUR, magniFIQUE, telePHONE); Polish puts it on the next to last syllable (kielBAsa, poLISHword). Carrying one of these patterns into a new language is a big part of a foreign accent.
Children figure out these patterns in their first few months. There was even a study in which a 4 day old infant could tell the difference between her mother speaking French and her mother speaking Russian, and it seems to be based mostly on the rhythm of the languages. They are literally learning the starts of their language in the womb.