Undocumented change in tree_.value example for DecisionTreeClassifier between versions 1.3.2 and 1.4.2

### Describe the issue linked to the documentation

In the the 1.4.2 docs the [Understanding the decision tree structure page](https://scikit-learn.org/1.3/auto_examples/tree/plot_unveil_tree_structure.html#understanding-the-decision-tree-structure) provides code and output in order to inspect `tree_.value`, but the tree diagram and output from the code snippet are inconsistent.

The diagram shows integer values that represent the number of records in that class at each node.
The new output from the code appears to be the percentage? of the total number of records that are in the respective class.

The [1.3.2 docs](https://scikit-learn.org/1.3/auto_examples/tree/plot_unveil_tree_structure.html#what-is-the-values-array-used-here) were consistent on this page between the code output and the diagram lower describing the values array, so I expect that something changed between the versions but wasn't documented, at least here in this example.

I can't find where this change to `tree_.value` is documented and it appears to be causing confusion (see for example on [stack overflow](https://stackoverflow.com/questions/47719001/what-does-scikit-learn-decisiontreeclassifier-tree-value-do#comment138123014_47719621)) 





### Suggest a potential alternative/fix

I would suggest updating the visual and documenting more clearly what to expect from `tree_.value` for `DecisionTreeClassifier` in 1.4.2 since it is evidently different compared to 1.3.2.
I am working with some code that inspects the trees and would appreciate insight to make sure that I make the necessary adjustments to get the same values that I did with 1.3.2.

COMMENT:
> I'm happy to help address this issue

Great thanks!

> For the scikit-learn core devs, can someone educate me on why we should store proportions?

Not sure, but according to https://github.com/scikit-learn/scikit-learn/pull/27639#pullrequestreview-1704283182, it looks like the monotonic constraint implementation assumed that `tree_.value` was between 0 and 1 which caused a bug and I guess it was easier to fix it by changing `tree_.value`? I think this kind of broke backward compatibility but it looks like not many people have complained since scikit-learn 1.4, so maybe this is something that very few people relied on. Maybe we could add an entry in the 1.4.X changelog though just in case under the breaking section?

I think now that we have changed `tree_.value` to be between 0 and 1, we should probably stick with it, rather than go back to the situation in scikit-learn 1.3, which would complicate the situation further (`tree_.value` is weighted count until 1.3, then weighted proportions for 1.4 and 1.5, then back to weighted count for 1.6). 

Not 100% sure about the best way forward and happy to hear other opinions, I would say:
- first fix the example to have a consistent explanation and make `value` in `plot_tree` the same as `tree_.value` (you probably need fixed width formatting similar to `{tree_.value:.3f}` to avoid long floating numbers). Note that other documentation, tutorials, etc ... may need to change, for example https://github.com/inria/scikit-learn-mooc probably will need to be adapted as well if we change the output of `plot_tree` but oh well this is OK I guess ...
- optional: add a changelog entry in 1.4.X to say that `tree.value_` meaning changed and indicate that is a somewhat breaking change even if people are unlikely to be affected
- medium-term, if we think this is worth it, change `tree_.value` to a more explicit name (`tree_.weighted_proportion` or something better) with a deprecation period and update plot_tree to use the new name?

Labels: Documentation, Moderate, help wanted, module:tree