Belgrade to Zagreb has not restarted yet. Nobody knows when it will.
Sof->BG: IF you really insist on doing as much as can do on the rails (some railfans do, normal people better avoid this), the sector In BUlg till border (Dimitrovgrad has some local trains) and In Rep. Serbije are also a very, very few (and apparently also often cancelled last minute), from Nis. The bus Dim.gr-Nis: most of these buses simply run all the way Sof->Bgr, so you only loose big amounts of time and again worry where to find busstop in some unknown small uninviting village, by just ´bridging the gap´. Best advice is: forget train, book bus direct. In fact same for Bgr-Zag.
seat61.com may have some more (always very positive about trains) advice, but part of that is also out of date.
We are going to serbia this summer, we have interrail. Our plan is to go from nis - belgrad, belgrad - novi sad with train then taxi to crotia or bus then from vinskovci to zagreb