the original etymology of "yank" is probably not only unfavorable but also obscene

I don't think so. M-W says etymology unknown. I've heard that it was from Dutch (Nieuw Amsterdam and all that) Jan Kees (John Cheese). It was certainly used with insulting intent early on but was quickly co-opted proudly by the intended targets.