Are you sure the rail pass is the cheapest way to go vs. buying advanced tickets?
I've not been to Brno (except to rent a car) or Bratislava - but your time in Berlin and Dresden sounds about right to me. I enjoyed the history of Berlin more than its charm, but I'm glad I had four nights there - it's a huge, spread-out city and takes a long time to see everything you want to see. I didn't fall in love with Dresden, but I'm not a museum person, either.
I had fewer nights in Vienna and Budapest than you have. Budapest is big and spread out, too, so four nights will give you more time than I had to get a handle on it.
But...I think your trip plan sounds fine, if you've researched each place and decided on what you want to see in each one.
An alternative if you want to add some smaller towns: rent a car in Prague, drive it to Brno, and stop for a few nights in between in towns like Cesky Krumlov and Telc. It would balance your trip that is otherwise full of big cities with some small town experiences. You would probably have to chop a few nights out of Prague, Vienna, Budapest, etc. to make this feasible. I did a similar road trip, and I found driving in Czech Republic very easy, outside of Prague, anyway.