Not sure, but perhaps because it's not about direction but the act itself.
They use the direct object marker 를 instead of the indirect object marker 에 because he walks directly on the water and not indirectly above it, say on a bridge or something. Do you grok?
The man who walks on water died. 죽었어요 is past tense. I think both answers are correct. For someone to be dead it mist have already happened, right?
Is there a reason "The man who walked on water died" is wrong? I think I know 는 can refer to a tense so maybe that affects the translation, but logically it doesn't make sense for walk to be present tense and dead past. How can the man continue walking after he is dead?