You can solve it by using the Capture Attribute node like this:
The context of the Mix node are the single vertices of all the trees. If you want to morph every tree instance with a constant value, then you need to use the same mix factor for all vertices of one instance.
If you would simply like to scale your instances, you could go for the solution, proposed by Kuboa, and scale the instances during instantiation. But you can't do this in combination with the Mix node solution.
Starting at a single vertex of a tree, the idea is, to use the position of the point, that was used to instantiate this tree, for calculating the mix factor of the vertex. This is the point, where the Capture Attribute node comes into play:
In this case, the Capture Attribute node writes the index of the current point into an anonymous attribute, that is attached to the point itself.
When creating and realizing the tree instances, every vertex of these instances will inherit this attribute:
When we calculate the mix factor for each vertex, we can use this information to read the position of the related instantiation point. To read this anonymous attribute, that is bound to the current vertex, we simply connect the Attribute output of the Capture Attribute node to the Index input of the Transfer Attribute node as shown below.
This way, we read the position of the instantiation point, that has the index, that was stored in the anonymous attribute of the vertex in the current context.
Next we use this, to calculate the distance from the instantiation point to the reference point. In this example, the reference point is set to
(0, 0, 0). You could as well connect the location of an empty here, if you like - comparable to the solution of Kuboa.
Finally, we calculate the mix factor by inverting the distance and multiplying it with the animation factor.
Alternative to using the Capture Attribute node
Instead of using the Capture Attribute node, we could as well calculate the index of the instantiation point based on the index of each vertex of a tree. This is possible, because every tree instance has the same number of vertices:
What about using the Geometry Proximity node
My first idea was, to use the Geometry Proximity node like this, where the target is connected to the original points:
This in fact works, if you pull down the Density Factor of the Distribute Points on Faces node to
0.05. But for higher values, the trees get distorted. This happens, because for some vertices of a tree, foreign points are closer than the related point. Thus, these vertices are assigned to the wrong original point and they start growing earlier or later than the other vertices of the same tree. This distorts the tree.