Seu awk não está classificando. A saída é impressa na ordem em que é encontrada em file2 e que é classificada. Para manter o pedido encontrado em file1 , basta invertê-lo (eu também removi o a[$1]"\t"$2 desnecessário, você já estava salvando $0 em a ):
$ awk -F "\t" 'FNR==NR{a[$1]=$0; next}$1 in a {print a[$1]}' file2 file1
03873 0.852
03872 0.326
03871 0.852
03870 0.825