Discovered in #1287 (reply in thread).
When an asset is time locked (but the BTC anchor transaction is not), we currently publish a transfer transaction in the normal tapfreighter send flow, even if the asset would become invalid and factually burned because its time lock hasn't expired yet.
We need to add a check in the send flow that makes sure every asset's witness is valid with the current block height before publishing the transaction.