Why does IPA have stress here
/ɡəˈʃtɔlt/ instead of here
IPA doesn't make that decision. However, conventionally, stress is marked at the beginning of the syllable. The implication of transcribing the word as [gəˈʃtɔlt] is that the onset of the stressed syllable is [ʃt], not just [t]. If /t/ were at the beginning of a stressed syllable, it would be aspirated, thus *[gəʃˈtʰɔlt], which is wrong. Lack of aspiration established syllabification, hence position of the stress mark.
user6726's answer explains nicely what it means to have the stress marker in that position (it shows where the syllables are divided). But if your question was less "what does this notation mean" and more "why did the transcriber choose to break syllables there, instead of between the consonants"…
There's a phonological maxim called the "Maximum Onset Principle", which says that if there's ever any ambiguity about how syllables should be divided, as many consonants as possible should be put in the syllable onset (and as few as possible in the coda).
/ʃt/ is a valid syllable onset in English (showing up mostly in Germanic loanwords like "shtick"), whoever did this transcription chose to follow the Maximum Onset Principle and group the
/ʃ/ into the onset of the second syllable instead of the coda of the first.
(How well the Maximum Onset Principle actually works in practice, and how exactly we should define a "syllable" in the first place, is a whole other can of worms.)