One assembly (Assem4) contains two instances of the same sub-assembly (Assem3). That sub-assembly contains two sub-assemblies of its own (Assem1 & Assem2). Assem1 & Assem2 each contain two parts. Part1 in Assem1 has two configurations (Default & Alt). The difference between the two instances of Assem3 is only the change of configuration of Part1.
Why can't I assign a different configuration to each instance of Part1 in the top-level assembly? To achieve the desired assembly (pictured), I had to create Default & Alt configurations in both of the nested sub-assemblies.
That's fine for this example, but it seems unrealistically cumbersome for larger assemblies with more configured parts.
Am I missing something?
No, you are correct. To change the items in assem3 you need to do it in assem3. If you think about as being physical boxes of parts out on the shop floor and box 3 can have balls or blocks in it but is taped shut and placed inside box 2 which is taped shut and placed in box 1. You can't just open box 1 and say "I want box 3 to have 2 balls and one block". You have to open box 2 and then open box 3 and make the changes. That may seem clunky but it is needed to keep order.