You might also have a (somewhat imperfect) view from Tokyo Dining or Bistro de Paris. But the Hacienda and Rose & Crown are better choices for this.
And for me, the preference would be Rose & Crown, because if you get a table with out a view (both of those restaurants have 'em) you can more easily step outside to the outdoor seating area to watch.
We had dinner at Rose & Crown and the view was amazing! We were seated on the upper level outside about 30 min before Illuminations began. And we were a walk up! We both thought the food was only so/so however. Next trip I will try for Hacienda.
Honestly, I'd have dinner somewhere else and then take a seat around the Lagoon for Illuminations.
I'm not sure about Hacienda, but only about 30% of the tables at R&C are outside, so if you do your planning for "I'm going to have a meal while watching Illuminations, you may end up leaving your food on the table to go stand outside for the show. If you are a frequent WDW guest - this might not be a big deal. If this will be your only opportunity to see Illuminations, I'd make more reliable plans.
Having dinner somewhere else (or one of these restaurants if that suits your fancy) and then finding a good spot for watching Illuminations independent of dinner is a good bet.
At R&C if you are seated inside or at one of the patio tables that doesn't have a view of IllumiNations, let your server know in advance that you want to see the fireworks and they will pace your meal accordingly. Last time we ordered our desserts, then went outside to see the show, then returned to our table.
The R&C has a viewing area adjacent to the patio just for their guests so it doesn't get very crowded. I highly recommend it.
You might also have a (somewhat imperfect) view from Tokyo Dining or Bistro de Paris. But the Hacienda and Rose & Crown are better choices for this.
And for me, the preference would be Rose & Crown, because if you get a table with out a view (both of those restaurants have 'em) you can more easily step outside to the outdoor seating area to watch.