Confused about material layering
There is no single method of layering materials. Some implementations, as you have observed, simply interpolate shader input parameters. This helps especially in contexts where code divergence comes with performance penalties (GPUs for example), since all material layers use the same code path and only have different data. Other blend between the output of the individual shader layers.

More complex approaches take the interface between material layers into account, as well as layer thickness. A recent publication describing such a method is "A Comprehensive Framework for Rendering Layered Materials" by Jakob et al.