Unless he's under 5 pounds, usually they don't have to stay in the hospital. Under 5lbs is considered a premature baby. You still have about 3 weeks until due date so hopefully he stays cooking a little longer :)
Ultrasounds can be a lb off and usually are not accurate in guessing weight
The weight they give u based on the ultra sound is not always accurate, 2 weeks before I have my daughter they told me she only weighed 4 pounds and would probably only be 5 pounds when born my daughter came out weighing 6pounds 6oz. They cannot accurately give you a weight for the baby.