[HLSL] Fix miscompile of small structs after arrays in cbuffers (#179768)
We weren't accounting for skipped fields correctly when emitting struct
member exprs, which could lead to us reading padding instead of the
member itself when a struct followed an array.
Fixes #179716