"highest point," Old English top "summit, crest, tuft," from Proto-Germanic *tuppaz (cf. Old Norse toppr "tuft of hair," Old Frisian top "tuft," Old Dutch topp, Dutch top, Old High German zopf "end, tip, tuft of hair," German Zopf "tuft of hair"); no certain connections outside Germanic except a few Romanic words probably borrowed from Germanic.
Few Indo-European languages have a word so generic, which can be used of the upper part or surface of just about anything. More typical is German, which has Spitze for sharp peaks (mountains), oberfläche for the upper surface of flat things (such as a table). Top dog first attested 1900; top-drawer ...