Burst QPSK demodulator I am working in burst QPSK demodulator. I just want to double check if what I am doing is right.

Large frequency feedforward recovery by FFT
Carrier recovery Costas with 4 samples/symbol
Timing recovery with interpolation and matched filter using feedback control

So 4 samples/symbol goes to interpolation filter and after matched filter 2 samples/symbol is used for Gardner timing
4 symbol recovery.
Will the steps I have followed work?
They will work as you show but you can filter and decimate to 2 samples per symbol followed by resampler and TED if your carrier offset is reliably less than $S/4$ where S is the symbol rate (it will work with offset beyond that but with possibly unacceptable degradation) and after than matched filter at 2 samples per symbol with and you can use the pre-decision 1 sample per symbol samples for carrier recovery. The performance of the TED is better prior to matched filtering typically (the zero crossing jitter is less) unless you do additional prefiltering for timing recovery. The TED works well with large carrier offsets hence you need not do carrier recover first. Another option if your carrier loop bandwidth allows the additional loop delay is to do the complex rotator to correct for carrier offset before the interpolator while still doing the phase measurement on the final pre-decision samples so the TED operates with 0 carrier offset, but I would only consider this when dealing with much larger carrier offsets.

(Also I think your block labeled “DDS” is really an “NCO”; a DDS is the cascade of an NCO with and D/A converter)