no and no. it’s not expected, even with dynamic branching. the expected behavior is that if the branch becomes true, it will process the stuff and evaluate it. as such, the texture samplers only need to exist nested within the branches
the code right there is crystal clear. it’s declaring and using your textures and sampling them per pixel, and then making the evaluation. unreal will not execute any further magic beyond what the HLSL code reports.
it’s all explained thoroughly in this thread and I’ve continued to explain it to you, but as it’s clear you don’t want to believe anything except what you tell yourself I’ll just stop bothering