Are these two different in some way? Are they interchangeable? I started reading a webtoon and saw this grammar being used in a dialogue: "너 진짜 길에다 토하면 버리고 갈 거야!" If instead it were: "길에서" would the meaning/nuance remain the same?
Depending on which verb you use, 에서 is used for either the location (where it happened) or the source (where the movement started). For example:
산에서 점심을 먹었다. I ate lunch on the mountain. (location)
산에서 내려오니 저녁이 되었다. When I climbed down from the mountain, it was evening. (source)
토하다 does not really need a source, so 에서 would mean a location.
On the other hand, 에다(가) is used for destination. I think it's mostly used in the sense of "location where you place something (onto)." E.g.,
가방은 의자 위에다 놓아 두세요. Please leave your bag on the chair.
열쇠를 집에다 두고 왔다. I left my key at home.
간장에다 식초를 탔다. I added vinegar to the soy sauce.
So, I think "길에다 토하다" and "길에서 토하다" are very similar, but there's a subtle distinction. In the former, 길에다 is the destination of the vomit, i.e., you threw up onto the street and the vomit ended up on the street. On the other hand, in "길에서 토하다", the street is where the action happened. You can even combine them:
달리는 택시에서 창밖에다 토했다. I threw up out the window while (seating) in a running taxi.
화장실에서 변기에다 토했다. I threw up onto the toilet in the bathroom.
In this case, 길에다 토하면 and 길에서 토하면 are very similar. But, there is a difference.
에다(가) means same as 에, so 길에다 토하다 means throwing up 'on' the street, so you throw up and then the vomit 'arrives' at the street. And 길에서 토하다 means that, the 'behavior' of throwing up is 'achieved' at the street, so it is saying that the place of the behavior is the street.
So, if you throw up in the cup at the street, it can be written 길에서 토하다, because no matter where your vomit arrives at, like in the cup or anything, you are still throwing up at the street, so 길에서 토하다 works. But we can say 길에다 토하다 doesn't work, you threw up in the cup, not on the street. So in this case, you can write 길에서 컵에다 토하다, which means 'throw up in the cup at the street'. Your behavior of throwing up is achieved at the street but the destination of vomit is your cup, not the street.
So 길에다 토하다 implies 길에서 토하다. If you throw up on the street, it means you throw up at the street, but the converse does not hold, because of many counterexamples of throwing up in a cup, tissue, etc.