It is only very rarely that we enter non-eggcorns into the database, but I am making an exception for _ad homonym_.
First of all, homonyms — or rather, homophones, i.e. words that sound alike but aren’t necessarily spelled alike — enter into the genesis of eggcorns themselves.
Second, because the _ad homonym_ malapropism illustrates very nicely what elements are required to make an eggcorn: it is a non-standard reshaping of an established term (check!), _homonym_ and _hominem_ are pronounced nearly the same (check!), but it _isn’t_ a re-interpretation that is based on (a correct understanding of the semantics of) the target word _homonym_.
In a typical eggcorn, the writer understands the sense of the word he or she actually employs; the problem is that the use takes up the place already occupied by a different word, often part of a set phrase. Here, however, the eggcorn users don’t give any sign that they know what a homonym is. In one of the examples, the writer obviously believes that _ad homonym_ means _against the man_ in Latin. It’s the Latin that is faulty, along with the recollection of what the expression is supposed to be, precisely. (And spell-checkers might have had their bit to add, too. Case in point: the spell-checker I just used on this entry didn’t know _hominem_ and suggested _hominid_. _Ad hominid_ also yields over a hundred Google hits, compared to several thousand for _ad homonym(s)_.)
The replacement of a “complicated phrase” by another “complicated phrase” is rarely an eggcorn: often, the writer is unclear about the meaning of both, not only about the original.