I don't agree that everyone would love a week in Istria. I'm sure some would, but a few days there was plenty for me. I loved Rovinj but didn't feel the need to spend days exploring the hill towns. Two or three towns was plenty for me, and although I liked Groznjan the best, I didn't personally fall in love with any of the hill towns like I did with Rovinj.
True, flying into Zagreb out of Dubrovnik might have saved time - maybe not, depending on flight schedules. (Flying home to Portland from Dubrovnik, for me, would have involved a complicated flight schedule and multiple changes; for others, it might make a lot more sense.) Flying back from Dubrovnik to Zagreb might be a great idea, though. In fact, if the arrival flight into Zagreb is early enough the first day, I might even consider flying immediately to Dubrovnik that very first day and driving north to Zagreb. One way car rentals are fairly routine in Croatia and seem not to incur extra fees if the rental period is more than a few days.
I might follow Rick's advice regarding the islands and see just one - pick either Hvar or Korcula, not both. That's the first cut I'd make to save time.
Dubrovnik itself is great but small and very touristy during the days. Nights are delightful and much quieter. You don't necessarily need lots of time there except for possible day trips. The town itself doesn't require a lot of time to explore..