I think best way to describe this problem is with image:
Any ideas how could I solve this color changing issue? HQ trees nearby are rendered with correct colors but as the distance increases the detailed trees lose their green color and become looking like a dead trees.
Is there anything I could do within threejs to fix this or is this more of a problem of the gltf model?
I observed a similar phenomenon with my TexFont demo:
The scene comprises a textured plane (green), overlaid with a gray-colored grid.
Now the letters have actual dimensions, while the grid is made up of lines.
As a consequence, the letters become smaller, as they recede into the distance (depth cueing), while the lines remain at their constant width.
In essence, the line part of the image takes up an ever greater share of the visual impact, the further away from the viewer it gets, until eventually you see only a grey surface which completely obscures the green.
Related to your example:
check wether some tree species (they don’t seem to behave all the same …) contain line graphic elements, i.e. for branches and twigs. If so, you could make them part of an LOD, and just skip rendering those if sufficiently far away.