get_dump() leaf value and AUC
Could you clarify what you mean by "However in the last booster all the leaf values changed to around 0.5 probability"?

My understanding is when computing predicted probabilities, you'd need to add base score (default = 0.5) to estimated weight parameter (leaf score), like so:

$\hat{p} = \frac{\text{exp(0.5 + w)}}{\text{1 + exp(0.5 + w)}}$

where $\text{w}$ is the estimated leaf score.

Below, is the link to the default xgboost parameters in python API: https://xgboost.readthedocs.io/en/latest/python/python_api.html

class xgboost.XGBClassifier(max_depth=3, 
      learning_rate=0.1, n_estimators=100, silent=True, 
      objective='binary:logistic', 
      booster='gbtree', n_jobs=1, nthread=None, gamma=0, min_child_weight=1, 
      max_delta_step=0, subsample=1, colsample_bytree=1, 
      colsample_bylevel=1, 
      reg_alpha=0, reg_lambda=1, scale_pos_weight=1, base_score=0.5, 
      random_state=0, 
      seed=None, missing=None, **kwargs)


base_score:
The initial prediction score of all instances, global bias.

Does this answer your question?