Trying to understand why VLANs need to be created on intermediate switches
Trunking just gives an interface the ability to deal with tagged frames. It doesn't give it a general ability to handle all tags.
This is where the "default" or PVID (primary VLAN ID) comes in. When you set this, the switch treats all incoming packets with tags that it isn't explicitly configured to handle as if it was an untagged packet on the PVID. The frame is then handled with that in mind -- with the 802.1q tag removed.
You have to explicitly specify which VLANs are supported on which ports. This means you have to explicitly define and configure how the VLANs are forwarded through your mesh(*) of switches. Otherwise, all tagged packets could potentially go everywhere, leading to security problems and potential bottlenecks in terms of throughput.
(*) == originally typed as "mess", but that's often an appropriate sentiment.
Hm I sat here thinking about this for 10 minutes and couldn't come up with a good generic answer. Maybe there's something specific to how cisco equipment works that makes this a requirement? Maybe it's simpler to always require that vlans be enabled on intermediate switches because it makes the logic simpler?
This could also be a guard against malicious intent or careless mistakes - you are forcing the user to positively configure the intermediary switches to deal with vlans, instead of just allowing them to exist by default. Best I can think of.