Training models with estimated features A model (model X) is being trained with a set of features. One of the features (say, feature A) is not available on test data. But it can be accurately estimated using another model (model Y) using some of the information present on the model dataset, and other features that were deemed not useful.
Should model X be trained with the real value of feature A? Or should real values be replaced by an estimation of feature A using model Y (because the feature on the test set will also be estimated)?

In general the most reliable, real-world, values should be used in all your training data. The more robust the training data, but better able you will be to predict your target variable.
So, yes, use real data in the training set.
The consequences of using an estimate in the final prediction is that you compound the errors because the estimator has some error, and the new prediction model has some error. This will make the final model less robust, but if it is still reasonably useful in practice, then that is all that matters.
You will need to be thoughtful in designing and testing considering all  of the costs of being wrong. But always use the best data available at each step!
