It goes with the territory in Italian. So many words end with vowels that they blend together seamlessly. In conversational Italian, it can sometimes feel like you're listening to a 175 syllable word. I find it very challenging, and very pretty.
At this point in our learning, we also stumble across a growing number of homophones; that is, words that sound alike but aren't. This is where learning must expand beyond rote memorization, as context is everything.
You're right, but therein lies the beauty of the language. I can sit down and read an Italian newspaper and more or less understand what i'm reading about. However, If a native speaker read it to me I wouldn't have a clue. Have you tried 'The News in Slow Italian' podcast? Still tricky but a lot easier.
Because l'ho is lo ho ; lo is a direct object pronoun which means him or it.
EDIT Actually, I think I am wrong. After looking at some other questions it seems la can also be abbreviated before avere. But I don't think li and le can be.
In this case I think it is because visto is masculine, you know the object is also masculine.
I don't know if this contraction is "preferred" but it is certainly done.
Examples of "d'allora" (since then) from https://dictionary.reverso.net/italian-english/d'allora
"lui" is the subject pronoun = "he".
"lo" is the direct object pronoun = "him"
just as 'lei" is the subject pronoun = "she" and "la" is the direct object pronoun = "her"
I have not seen him. Non l'ho visto.
I have not seen her. Non l'ho vista.
He has not seen me. (Lui) Non mi ha visto.