In Romania I recommend extra time in Timisoara and a visit to both Cluj-Napoca and the Maramures area in the northwest. Maramures has the Merry Cemetery and wooden churches; refer to Rick's video. You'll also see carved gateways outside houses and perhaps the occasional woman wearing folk garb to church on Sunday. The area is also scenic, though not in a super-dramatic, high-mountain way. It would be essentially impossible to appreciate Maramures by public transportation, however.
The Retro Hostel in Cluj-Napoca arranges both one-day and multi-day small-group tours within Romania. You don't have to stay at the hostel to take a tour. Contact the hostel early to express interest in whichever tours are of interest; see their website. I think most of the tours run on demand rather than on fixed schedules. Being flexible will be very helpful. I took the two-day Maramures tour in 2015. It was excellent and dirt-cheap (about 100 euros plus about 20 euros for a comfortable room (bath down the hall) and three meals of home-produced food at a rural B&B. Our guide was Florin, whose regular job was as a high school history teacher, but he had also done a stint as a taxi driver in Greece. He used his own car, which was very comfortable for the three tour members. Some tour groups may be large enough to use vans.
In Bulgaria I went to Veliko Tarnovo and Plovdiv, two cities with notable historic architecture; Nesebar and Sozopol, two smaller towns on the coast with tiny, very old churches; and Bucharest. Bucharest is a frustrating place for architecture buffs; Ceausescu wiped out a large percentage of the older buildings. But as the capital, it has some museums I would have liked to see.
As for public transportation in both Romania and Bulgaria: pack a load of patience. Trains are relatively few and were no faster than buses; figure on about 30 mph. Romania had a really strange quirk which I hope is now history: You had to reserve a seat on inter-city buses in advance, but you couldn't do that by going to the bus station. You had to make a telephone call to the appropriate bus company, and you have to assume bus-company staff in Romania do not speak English. I wasn't going to attempt such phone calls. Fortunately, kind Romanians stepped in to help me out on two or three occasions. I have no experience driving in either country, but my buses took a lot of roads that were not freeways--narrow, curving, etc.
I have overnighted in Nis. It was interesting for at least a short stop; it seemed not totally westernized. Serbia itself is a bit...different. I've spent more time in the north (Belgrade, Novi Sad and Subotica) than the south. Belgrade was worth about a week to me. Novi Sad and Subotica have much Art Nouveau architecture, and I stayed 3 or 4 nights in each of those cities. There are transit links between Subotica and Szeged, Hungary (which also has a lot of Art Nouveau); there aren't many options for crossing that border on the ground via public transportation.
Budapest is as fabulous as Mr. E says it is, but there are many additional worthwhile places in Hungary. I tend to head to places known for their architecture, and I have loved Szeged (more great Art Nouveau) and Kecskemet, which are both on the way from Serbia up to Budapest. As the home of Zsolnay ceramics, Pecs is especially a great option for lovers of decorative arts. However, I think you'd have to go all the way to Budapest to pick up a train to Pecs, despite its location not all that far from Szeged; maybe there's a bus link.
In western Hungary I liked both Sopron and, especially, Gyor, but they are not particularly geographically convenient if you're traveling north from Serbia. Romania and Bulgaria are more challenging to get to, so I'd suggest allocating as much time as you need to see them to your satisfaction. Make Hungary a separate trip, maybe with northern Serbia; don't try for more than Budapest this time.