I haven't researched this, but it seems to me that at is
optional when home is the complement of a form of be (am, was, are, been etc)
required when home is a modifier (as in your last example)
disallowed with go, come and synonyms.
But I'm sure there are some exceptions to these rules of thumb. One interesting one is your third example:
He came to my place at 6pm and by that time I had already been (at) home.
where at changes the meaning. Had already been home invokes the idiomatic meaning of been as a sort of verb of motion, and implies that I had been home and gone away again.
Had already been at home is barely possible for me without an expression of duration (Had already been at home for several minutes).