another theory (proposed by Hugh Rawson in his excellent book "Wicked Words") traces it to the Hindi word "gunda," meaning "hired tough," apparently often spelled "goondah" in British newspapers of the 1920s.

That would appear to answer your question, Bean, if you accept that "goon" in the thug sense is a post-1920ish term.

Of course both theories could be right. "Goon" as idiot may have been derived from English dialect, and then it combined nicely with the Hindi word for hired tough some time around the 1920s. That would mean the English goon is a more disparaging term than the Hindi gunda. A gunda would always inspire fear, whereas a goon would at least occasionally inspire ridicule.