How to change texture of specific parts of the mesh in threejs?

Hi there, I am creating a configurator in threejs, and it will have many objects, like 70 different objects or more.. I started creating the models in Blender and my initial intention was joining all objects that have the same material type into a single object, like metal, wood, plastic.. and I wanted doing this to reduce the amount of draw calls in threejs..

But I realized one thing midway through, it would be baked textures based on uv position and if the user selects one object to change its color, it will change for all the objects that have that same material type because I would have joined them into one object…

So having put this, is there a way to change the texture only from a specific part of this mesh? Maybe something based on UV positions? Or something that I can do in Blender and it will be recognized in threejs itself?