The entire BerninaExpress untill Tirano is covered by the Swiss Travel Pass Flex, so no need to buy an additional ticket until Poschiavo. It might be worth to also get a seat reservation for the back trip…
Note that DB, being the german railway, does not run services between Tirano and Poschiavo. The only operator on the Bernina line is RhB, the Raetian Railway. Why do you think you could take a DB train for that stretch?
Note that each BerninaExpress train also has a few coaches where no reservation required, but with that also comes no guaranteed seat.
The Travelpass can be bought now or later - the price should be the same.
Between Pontresina/St. Moritz and Zürich HB, you can get off and back on as you wish - you can even use local transit (including boats) along the way.