What you seem to be proposing does not seem to correspond to a FWL-based strategy to compute $\hat\beta_3$ in the model
If this model is indeed the correct one, then either OLS on this model would be an unbiased estimation strategy for $\beta_3$, or of course FWL, as it is numerically equivalent to OLS.
Now, FWL to compute $\hat\beta_3$ would entail to first partial out the remaining regressors, i.e., in a regression of $Y_i$ on a constant and $X_i$ and in a regeression of $X_i^2$ on a constant and $X_i$, to then use the residuals of these two regressions for a third regression. The coefficient of that regression would be $\hat\beta_3$.
Your strategy, in turn, takes residuals of a regression for $Y_i$ only and does not partial out the effect of the constant and $X_i$ in $X_i^2$, which leads to other and hence - I did not think that through in detail - biased estimates.
Here is a little illustration:
# generate some data
n <- 100
X <- runif(n)
Xsq <- X^2
y <- rnorm(n)
OLS <- lm(y ~ X + Xsq)
(Intercept) X Xsq
0.4905833 -2.1985898 1.6743698
FWL.first.stage.Y <- lm(y ~ X)
Uhat <- FWL.first.stage.Y$residuals
FWL.first.stage.Xsq <- lm(Xsq ~ X)
FWL.second.stage <- lm(Uhat ~ FWL.first.stage.Xsq$residuals-1)
coef(FWL.second.stage) # same as above
# your FWL suggestion
FWL.second.stage <- lm(Uhat ~ Xsq-1)