The wallet should not select a yet-unavailable coin to fund a transaction. We could use the latest block height by default and allow the user to set one when calling for instance walletcreatefundedpsbt, to effectively tell the wallet “select me coins such as they’ll be available after block height N).
Also maybe the wallet should set the right values for nSequence / nLockTime if it spends timelocked coins? Curious what people think.
cc @ishaanam since we discussed it together.