How could I change the colour of different leaf blocks in a texture pack?

I am currently trying to make a texture pack for my survival world that would alter the textures of the following leaf blocks to create a autumn/fall-like forest environment:

DARK OAK LEAVES - MAPLE RED

MANGROVE LEAVES - ORANGE

ACACIA LEAVES - OCHRE YELLOW

I am asking for support/advice because I am unsure how to change these textures separately. To my knowledge, all 3 of these leaf types fall under the tag 'foliage' in the game's code, which means their colour/shade is determined by a colourmap based on what biome they are placed in, like for grass. A greyscale texture is used as each block texture, and the colour/shade from the colourmap is projected onto said texture (e.g. a swampy shade of green in a swamp biome).

The issue is this makes changing the colours of individual leaf types very tricky, since the game's code decides this based on the biome it is in (FOR EXAMPLE, acacia, mangrove and dark oak leaves will be given the same vibrant shade of green by the colourmap if placed in a jungle) instead of the type of leaf block.

If anyone knows the name of a mod/software, or a simple fix that could solve my problem, that would be much appreciated!

If there are any issues with my choice of leaves, I would still be willing to accept any different kinds of leaves etc. being used instead of my aforementioned choices (e.g. swapping mangrove leaves for birch ones).

Picture for reference demonstrating what I am trying to achieve with this texture pack.