I don't quite understand why there is an error, but if the "exogenous" status really is the problem, you could resolve it by making the variable into a single, error-free indicator of a common factor. In efect, the factor would be identical to the observed variable but the "exogenous" flag would not go up. (Here, "exogenous" just means not predicted by something else. The lavaan package does have some special procedures for deaing with such variables, so it is possible that you have turned up some peculiar behavior.)
To implement this fix, you will add lines like this:
DivScr_c_factor=~1*DivScr_c # observed variable loads on factor, loading = 1
DivScr_c~~0*DivScr_c # 0 residual variance in DivScr_c, so variace of factor = variance of observed var
DivScr_c~0*1 # 0 intercept for DivScr_c, so mean of factor = mean of observed var
DivScr_c_factor~~var_of_DivScr_c_factor*
DivScr_c_factor
# var_of_DivScr_c_factor replaces var_of_DivScr_c in code
DivScr_c_factor~1*mean_of_DivScr_c_factor* DivScr_c_factor
# mean_of_DivScr_c_factor replaces mean_of_DivScr_c in code
Watch out for unexpected free covariances between DivScr_c_factor and other variables in your model which are not predicted ("exogenous" in the SEM sense). These changes should leave fit and DF entirely unchanged. Also, watch out for typos in my code, above.