I agree that Belgrade is interesting. But in January? Not me. It's colder than my hometown, and I wouldn't care to visit three airports in the space of two days.
I haven't been to Hungary in more than 40 years and don't know anything about the railroad equipment used for that run. I can tell you that the buses in Croatia are usually very comfortable.
On the other hand, I guess buses would be more likely than trains to take weather delays in January, and the Zagreb train station is closer to what you want to see in the city than the bus station is. The two stations are a bit farther apart than they may appear on a map. Still, there always seemed to be a bunch of taxis right outside the bus station, which is very heavily used; the train station, not so much. Zagreb has a lot of trams, and they would be useful no matter which station you arrived at.
Edited to add: There's a tourist office on the upper floor of the building housing the bus station (not really inside the bus station proper). There's also an office, or perhaps two, in the historic district. I'm nearly certain there is no T.O. at the train station.