...can't figure out if all these countries participate in it?
Well, Eurail won't work for Ukraine, but you definitely can purchase tickets (here it will be SCIC-NRT + East-West for Ukrainian part) for the whole route Prague-Bratislava-Kiev-Belgrade in Czech Republic, any international ticket counter should be able to do so. Although it's probably not the best option, mainly because in many cases local "in-between countries" discounts for SCIC-NRT are used, so it makes sense to buy the ticket on spot and save comparing to full fare SCIC-NRT because of those additional "in-between countries" discounts . Also in some cases you can just 'break' tickets and use combinations like national + short cross-border international + again national, in cases like Bratislava-Kiev such trick will do wonders. So, if to take a look at step-by-step:
Prague-Bratislava: full fare one-way ticket is 27,4 EUR, but if you are able to buy it few days in advance, there are still chances to catch a cheaper discounted ticket for like 19 euro instead.
Bratislava-Kiev: here, as was said above, it does make sense simply to use first domestic Slovak ticket from Bratislava till the border (roughly 20 EUR), cross the border either by local train (Cierna-Chop ticket is just 2,6 EUR) or bus (see below) and again use cheap Ukrainian national tariff from Chop to Kiev (berth in 4 bed compartment (T4) won't cost you more than 15-20 EUR). Also you can easily cross the border by bus (either direct bus from Kosice or Michalovce to Uzghorod), which gives you more flexibility comparing to Cierna-Chop trains which run only twice a day
Kiev-Belgrade: here even direct fare isn't very expensive (around 100 euro for ticket + 3 bed sleeper reservation), but also possible to do a trick with ticket breaks - again domestic UZ tariff Kiev-Chop, then international Chop-Budapest (17 EUR) and Budapest-Belgrade (15 euro). Idea with going via Romania is also possible, but it will take longer and require more changes, so makes sense only if you have time or special desire to see some places there.
I'd really rather do that Serbia-Spain leg by rail than fly but it'd be great to have recommendations on what the most expensive part of that journey with the SCIC-NRT would be.
Here main problem is that you won't be able to use your SCIC-NRT tickets for the high-speed trains in certain countries (like Italy, France or Spain), thus will need to stick to slower regional ones, while domestic tariffs for those might be cheaper comparing to full fare SCIC-NRT. If you sure about dates, then it's possible to rely on discounted tickets, which in total might give an ok price.
Most fancy way is obviously to go with either Milan-Barcelona or Zurich-Barcelona Elispsos trains, contrary is just use a lot of regional trains through Norther Italy and Southern France. Serbia-Southern France part is also variable as you can guess, it's either via Slovenia-Northern Italy or Austria-Switzerland
Maybe Eurail is ultimately a better and cheaper option?
In case you want high-speed trains and flexibility, then Eurail pass might be an ok option, although it all need a careful calculations, since the answer will depend on route (either via Italy or Austria-Switzerland), desired train types and whether you'll be able to buy discounted tickets