Heather W. answered 07/03/19
Literature instructor, specializing in Shakespeare
OK -- I think there are a few possible answers to your question.
My main answer is this:
Horatio is a Dane and Would Know Danish History, Such As Tales of King Hamlet's Victories
Horatio is Hamlet's good friend from university. Horatio is welcomed "home" in Denmark and he clearly hails from that land. In Act 1 Scene 1, Horatio says (upon seeing the ghost for the first time): "As thou art to thyself./Such was the very armour he had on/When he the ambitious Norway combated./So frowned he once when, in an angry parle,/He smote the sledded Polacks on the ice./'Tis strange." There is no reason to suspect that Horatio would have been in battle with old Kind Hamlet. Going against Norway was a huge moment in their country's history and in the reign of old King Hamlet. Tales would have been told, such as the intensity of his look or what he wore off to battle.
In Act 1 Scene 2 (upon talking to Hamlet), Horatio says: "I saw him once. He was a goodly king." He was a good man. "I saw him once" could be I had an audience with him once or I spoke to him once (long enough to make an assessment that the former king was in fact a good man). Despite the fact that Hamlet (young Hamlet) and Horatio are friends, there is no reason to suspect old King Hamlet and Horatio (a self described poor scholar) would be around one another a great deal. Horatio knows the family well enough to be at the funeral and subsequent wedding. He works alongside the guard to answer their questions about the ghost. However, even if Horatio has some level of presence in the court, that wouldn't mean he'd have seen the king numerous times.