Squeeze in Three Suits Without the Count

Playing against GIB, I deal myself xxx AK8x AJx 9xx. I open 1 rather than 1 to encourage a diamond lead if we end up in notrump. Instead we land in 6. There is no bidding from the opposition. West leads the Q, and down comes dummy:

KJ
10x
Kx
AKQ10xxx
Q led     
 
xxx
AK8x
AJx
9xx

I can see 11 tricks off the top. My choices for trick 12 appear to be guessing the spade position, taking the diamond finesse, or getting lucky in hearts (which probably means finding West with exactly QJ9). There doesn't appear to be a squeeze. (Or rather, there is, but I can't see it. Can you?) Since guessing wrong on the first two choices means I'm down immediately, I decide to procrastinate.

I win the A, draw trumps (West has all three), cash the K, and ruff a heart. West and East both follow to all three rounds of hearts. West drops the J on the third round, but the 9 does not fall. So much for that plan.

There's still no reason to hurry. I run the trumps. Maybe the opponents will enlighten me with their discards. With five tricks to go, unenlightened, I am in dummy with these cards remaining:

KJ

Kx
x
  
 
x
8
AJx

Perhaps my best play is to cash the top diamonds in case the Q falls, and if not, guess the spades. I am still enthralled by my 8, though, and without really knowing why, I decide to lead the last trump. To my astonishment, East drops the Q. A miracle! But why?

When I lead the last trump, East is down to Q 9 Qxx. If he throws the Q, he knows I can set up a 12th trick by leading a spade to West's ace. If he throws the 9, that will set up my 8 for the 12th trick. If he throws a diamond, my only chance will be the diamonds, and his Q will drop on the second round, making it impossible for me to guess wrong. His only chance is to find West with the guarded J, in which case discarding the Q rather than a small one will alert him to save it.

I think East might actually have done better to discard the Q. Although he knew it would then be safe for me to set up a spade, I didn't know that. The A and the 9 might have been in the same hand, in which case the diamond finesse (or drop) would have been my only plausible option. (Is there a layout in which East plausibly discards the Q, the A and 9 are in the same hand, and the Q is either with East or doubleton? I'm not sure. I very much doubt I could have figured it out in real time.)

Was this my correct play? Or should I keep dummy's last trump and cash the diamonds? I don't know. Does it matter? What a great squeeze!