there are various ways to force traders and migrants to appear in specific spots through building of walls or other blockers. But it sounds like your humans and elves have no access to any map edge but the one across the river, you will be forced to bridge.
The problem isn't that they're arriving on the other side of the river from my fortress, it is that they are only ever arriving
on the ice, and have no way up to land aside from the path I've cut (which obviously won't work when the ice has melted). There is land on either side of the river on both the north and south edges that they could enter from, but so far, they've decided to only enter on the ice.
I've got bridges connecting all land sides of the map together, and a tunnel coming up from the river, but none of this will help if the elves and humans decide to come via the river and end up not being able to even enter the site because there is water instead of ice.
I might be over-thinking this, It's only been two years, so the humans & elves have only had a chance to come once.