Perhaps it would be easier to understand how stepwise regression is being done by looking at all 15 possible lm models.
Here's a quickie to generate formula for all 15 combinations.
tmp<-regsubsets(mpg ~ wt + drat + disp + qsec, data=mtcars, nbest=1000, really.big=T, intercept=F)
all.mods <- summary(tmp)[]
all.mods <- lapply(1:nrow(all.mods, function(x)as.formula(paste("mpg~", paste(names(which(all.mods[x,])), collapse="+"))))
mpg ~ drat
mpg ~ qsec
mpg ~ wt
mpg ~ disp
mpg ~ wt + qsec
mpg ~ drat + disp
AIC values for each of the model are extracted with:
all.lm<-lapply(all.mods, lm, mtcars)
 97.98786 111.77605 73.21736 77.39732 63.90843 77.92493 74.15591 79.02978 91.24052 71.35572
 63.89108 65.90826 78.68074 72.97352 65.62733
Let's go back to your step-regression. The extractAIC value for lm(mpg ~ wt + drat + disp + qsec) is 65.63 (equivalent to model 15 in the list above).
If the model remove disp (-disp), then lm(mpg ~ wt + drat + qsec) is 63.891 (or model 11 in the list).
If the model do not remove anything (none), then the AIC is still 65.63
If the model remove qsec (-qsec), then lm(mpg ~ wt + drat + disp) is 65.908 (model 12).
Basically the summary reveal the all possible stepwise removal of one-term from your full model and compare the extractAIC value, by listing them in ascending order. Since the smaller AIC value is more likely to resemble the TRUTH model, step retain the (-disp) model in step one.
The process is repeated again, but with the retained (-disp) model as the starting point. Terms are either subtracted ("backwards") or subtracted/added ("both") to allow the comparison of the models. Since the lowest AIC value in comparison is still the (-disp) model, process stop and resultant models given.
With regards to your query: "What is the function trying to achieve by adding the +disp again in the stepwise selection?", in this case, it doesn't really do anything, cos the best model across all 15 models is model 11, i.e. lm(mpg ~ wt + drat + qsec).
However, in complicated models with large number of predictors that require numerous steps to resolve, the adding back of a term that was removed initially is critical to provide the most exhaustive way of comparing the terms.
Hope this help in some way.