I followed a largely similar itinerary. Rovinj is really out of the way, and is going to eat up a lot of time and effort to get to. I cut it from my own itinerary for this reason. You’ll benefit from spreading those days into the rest of the trip. I would do 4 nights in Dubrovnik, 3 in Hvar, and 2 in Split. You won’t regret it. In a way, there’s a lot of similarities in the major tourist coastal towns. I mean that in a good way, just that Rovinj could be considered “more of the same” as Hvar or Korcula.
Dubrovnik was highly enjoyable, and has a lot of options as a base. With an extra day, Mostar isn’t a stretch. Though I found day trips to Lokrum and Cavtat to be plenty (and easy.)
I found Split to be a marvelous surprise and was glad to have two nights there. I could have stayed a third. I’m not sure why some folks are lukewarm on the place.
Plitvice is absolutely worth including if you’re headed to Zagreb. Stay in one of the park hotels and take advantage of the convenience. As recommended, figure on seeing the park late one day and the morning of the next. In truth, this was the stickiest bit of the trip, but 100% worth the effort and expense.
Lastly, you kind of hand-wave Zagreb here. Do your plans include a night? Zagreb was another real pleasant surprise, and definitely underrated in my eyes. I’m not sure if I’d make it two nights at the expense of say, Dubrovnik, but I would try to give yourself a solid day there.
While the bus is a solid option heading towards Zagreb, I didn’t exactly enjoy it. Renting a car could bring a little more comfort and convenience. It’s a long trip any way you cut it. It’s a judgement call.