There are a few factors to think about.
The more times a texture is accessed the more likely it will be cached. This improves performance.
So the best returns will be found when one texture is used for a lot of models that are seen by the camera a lot of the time. This reduces draw calls as you say. Video memory will be conserved if that same texture is located in the same folder as all of the models that use it. If not GG will think it’s another texture and load it again (uses file path not just file name).
So with the 4 model example I doubt much difference either way will be noticed.
However if you get up to dozens or hundreds of models in a level then you will definitely see benefits.
I have a level that uses two 4096x4096 textures containing all sorts of individual texture plates for walls, windows, doors, metal etc for approx 300 models (buildings and background assets) and this made huge video memory savings and 10-15 FPS uplift when I moved to this approach.
I guess your mileage will vary, just relaying what I found. It does take pre planning (or retro fitting in my case) to do this on a large scale and may not be for everyone.
Cheers.