To me it seems that you are confusing decision trees as a decision support tool and the ones used in machine learning. The confusion probably comes from the fact that the two are practically the same thing, but are used differently.
As @jb-krohn says in his answer, in your example you do build a decision tree as an expert system. That is, you define the branching of your decision tree yourself. While this falls into the broad category of AI, it is actually very different from the way decision trees are used in contemporary machine learning.
In machine learning, the branching of decision trees is left to the algorithm to determine, based on the data set. This is, the algorithm builds the rules itself, aiming to match its structure to the given training dataset.
There are a number of subsequent considerations, such as overfitting that might help you see the pros and cons of you defining your own decision trees vs letting an algorithm guess them. To elaborate on expert systems as they are implemented with forward-chaining inference, it might help to refer to their ability to include first-order logic predicates, which adds further to their expressive power, as explained in this answer.
Finally, forward- and backward-chaining inference, you need to be working with a modifiable knowledge base. Typically, this is not present with decision trees where the domain and range are static. In expert systems however, the execution of a rule actually changes the predicates that you use as input data. Thus from the perspective of decision trees, this introduces some type of recursion to your algorithm, something ruled out by the simple structure of decision trees.