There are so many places to watch it from, it really depends what you're after. If you want the prime viewing, seeing the castle, fireworks, etc...then in the hub in front of the castle is the place to be. But yeah, you need to be there really early...probably at least 90 minutes. If you want a bit less than "ideal" spot, then lots of places in the hub are good. You'd want to be there 60 minutes early. An example would be the "grass" areas. You can go down Main St toward the exit...the view of the castle gets less and less, but in our experience, so does the need to be extra early.
There are also far less crowded options outside of MK itself, if you want. The boat launch of the TTC is a great spot, we've done it several times. Or even on the ferry itself. Poly beach is spectacular, we did it twice over Christmas week and fell in love with that location.