Bitcoin Core nodes used to drop transactions after 72 hours, but it has been extended to 2 weeks. Keep in mind that these are the default values and some nodes might keep transactions for a longer or shorter periods of time. -zapwallettxes parameter can be used to forget the unconfirmed transaction locally which allows you to create a new one. Technically, transactions never expire once you sign them. They become invalid once you spend previously signed inputs.
Unfortunately, they are not. I am sure that Trezor team is well aware of this since there is a wiki entry about it.