Its a contraction of mi & hijo. Like can't or don't, just combined for ease.
Tbh i wonder the same thing i think since many say it fast it sound "mijo" instead of "mi hijo"
I think the difference between "mijo" and "mi hijo" is that the former connotes endearment while the latter is more matter of fact. Like "abuela" vs "abuelita". I still think "mijo" should be acceptable; it is obviously something that Spanish speakers say frequently when speaking of their son and is therefore useful to know for anyone trying to learn Spanish.