@ was actually the try driver's default kill character through 7th Edition or thereabouts. It was changed to ^U when CRT terminals became common, since those could actually erase the input, and there was no need to leave a visible marker showing killed text.
I think the erasing behavior came from 2BSD. That's where I saw it first in Unix.