Don’t focus so much on how the material looks. Go and run some stat testing instead.
Also, if you could upload the screenshots to the forum, they would be a little more legible.
I cannot tell if you are running a height blend resulting in 2 layers, or not, resulting in 4.
Assuming you have more layers to add, you are going to experience performance degradation and shader complexity in the red in about 3 layers.
when you say 5 samples, are you sampling the same texture or actually using a new one? It matters little, but you could save space on the material by creating a material function that takes in the original texture and outputs the 5 different samples.
Normally, when working landscapes you create material functions for each component type. Grass, sand, gravel, rock, etc.
You then just use the material functions and have all the outputs you need in one block.
The material functions can have varying complexity. Usually they also handle the sampling with a camera distance based algorhytm of some sort.
using the same scalar parameter name across multiple material functions and creating a material with the functions will result in only 1 parameter being exposed to the material instance that is able to control all the different scalars with same names across all functions.
thus, you commonly sample the materials at least 3 times and have the output for the albedo, roughness, specular, metallic, normal etc. Depending on what your needs are.
beware that it may also add some compile time to use functions, so it’s a 2 edge sword.
performance wise it doesn’t matter. You growing old while shaders compile, it does.