Anyone know why in German Rock is skirt, (and rok is skirt in Dutch too) but in Swedish it is coat? They seem so similar that I assume they are derived from the same root, but they must have diverged at some point.
I think that Rock/rok/rock all go back to an old word for a garment worn by both men and women.
From Wiktionary: mittelhochdeutsch roc, rok, althochdeutsch (h)roc, westgermanisch *rukka- „Rock“, belegt seit dem 9. Jahrhundert
The original word described a dress-like garment worn by both men and women, that was then transferred to different pieces of clothing when dressmaking and fashion changed.
In German, "Rock" is actually also used (though by now very rarely) for a specific type of men's coat. You can find this in both the Wiktionary and the Wikipedia entry for "Rock".
This is true.
A good analogy is the word skirt itself in English. This is loaned from Old Norse skyrta, which survives in Swedish today as skjorta '(buttoned) shirt'.