The coinbase output is what pays the miner reward. As you are on regtest mode and mined those blocks your funds are in coinbase outputs. As I said before these funds have special rules - they have to be shielded before they can be spent and no change allowed.
So that original error is very informative as, you can’t have change when shielding coinbase funds so either just send the full amount or use the z_shieldcoinbase command and it’ll handle things for you.
Try this. z_shieldcoinbase "*" "your-z-addr" as this will send all of your mining rewards (the default limit is 50) though it should have worked as you wrote it above assuming the coinbase funds are in that t-addr but this way is simpler. See this for more details z_shieldcoinbase - Zcash 4.5.1-1 RPC Docs