With a Swiss Travel Pass you would only need a Tirano - Milano ticket, and that you can buy in Zurich, but I would expect it to be cheaper in Tirano,
However, how do you expect to be able to enjoy the Bernina Railway after having spend a whole night staying awake? Do not do this.
If you want to travel the Bernina Railway just travel to Chur the day before, spend the night there, and continue in the morning. Unless you really want to experience what it is like to be homeless in Switzerland…