Actually, under NCAA rules (and I think high school as well), if there is a scoreboard clock, the time counts down, and when it hits zero, the half ends. Rather than adding extra time, the referee signals the clock to stop and start.
When MLS first started, the clock did count down from 45 minutes (I can’t remember if it got to zero and counted back up, or stopped at something like 2 minutes). According to an article I read in (I think it was) Sports Illustrated, the league switched to counting up from zero to accommodate its fans, most of which are (or at least, at the time, were) of Latin American heritage, and they are more familiar with the clock counting up.
One thing I have noticed with the “time kept on the field” method; you never see the half end just as somebody is taking a shot. If three minutes are added to a half, and a team is making a move towards scoring when the clock reaches 48:00, the match keeps going.