You suggest 9 places (including one country) in 12 days (i.e. 11 nights?), which isn't doable.
If you are starting from Dubrovnik with a car, island hopping isn't that easy. I presume you will need a day or 2 in Dubrovnik? That leaves 10 days. You have a 3 week itinerary as it currently stands that needs condensing, so something will have to give. You need to ensure that your car hire permits you to take the car out of Croatia.
Montenegro is in the opposite direction to everywhere else, so I suggest that you drop this, as you don't have the time. Likewise, Varazdin is too far north.
Mostar would be your first port of call after Dubrovnik.
Your difficulties start after here. The most logical is to go to Hvar and the easiest way to get there is to drive up to Drvenik and get the ferry over to Sucuraj. Most decent places on the islands have a 3-4 night minimum booking period. Airbnb is the best option. Look at Stari Grad or Jelsa unless you want Hvar town for party central. Have a day trip to Hvar town.
Brac can be seen from Hvar, but the only way to get there is to get the Stari Grad ferry back to Split then out again, so you will lose most of a day getting from one to the other. There are small day boats that go to the parties on Zlini Rat beach on Brac from Vrboska. There is a catamaran service (no cars), but this departs at 06.00, which is a bit early for most holiday makers!
Conclusion: go to Hvar or Brac.
You need at least a full day in Split and another in nearby Trogir. Plitvice will be still busy in September, so it's best if you stay there the night before and get in early before the tour buses arrive.
I would suggest that you also drop Zagreb and fly out of Split, if possible. Otherwise, drive to Zagreb and spend a day there.