Very good observation. I didn't pay attention to nesting. It didn't even occur to me that this interpretation of the sentence was also possible. (And as far as I can tell it's is a perfectly valid interpretation too!)
It all comes down to the precedence levels of the LID particles (に, は, で etc.), doesn't it. I'm not sure if those are well-defined, but I think it would feel more natural for a native speaker to evaluate に before は in nearly all cases. The order between で and は seems more elusive. I'll definitely bring this up in our conversation group next time, though I'm sure I'll get some funny looks for it.
I don't see this as a case of precendence.of に vs は but rather as a case of に being associated with いる, and that without it, いる人 is incomplete.
いる人 by itself means "a person who exists". Not something that would come up in everyday speech, but the grammar checks out, I think. Might sound more natural to replace いる人 with 生きてる人 though.
The parser just turns every sentence into a flat list. Imagine a parser for a programming language that parses every single line, but doesn't group lines in the same function, loop, conditional etc. together. Unless the language is assembly, you wouldn't be able to get away with that.