O 't' está entre as duas sub-expressões regulares: \t , que não é interpretado como uma tabulação, mas como t . Uma tabulação seria $'\t' .
Tente isso:
$ msg=$'[4]\tthe message'
$ [[ "$msg" =~ (.+)$'\t'(.+) ]]
$ echo ${BASH_REMATCH[1]}
[4]
$ echo ${BASH_REMATCH[2]}
the message