I prefer to use the non-corrected series for data analysis for exactly the reason you point out. If you use the MOCO, it is not possible to include the exact motion parameters as regressors in your regression model.
Your script looks mostly standard. I usually only use the despike block in resting state analyses, and not in functional tasks.