The df is essentially the number of points used to estimate the variance. In the ANOVA case, the variance for the denominator df was estimated from all 4 conditions, even though the numerator test only involves 2 conditions with your contrasts. If you do a t-test on pairs of conditions, then only that data goes into the analysis, so you get fewer df.
"Better" is in the context of a model or codified belief about the structure of the data. If you believe that the variance in activation is reasonably considered to be about the same in all conditions, then it is proper to use all conditions to estimate that variance (the 3dANOVA way). If you wish to be conservative, and assume that different conditions may have markedly different activation variances, then you should only use the data needed for the variance estimate (the 3dttest way).
Over to you, Gang!