Ensure LookupContext in Digestor selects correct variant

Related to: #14242, #14243 & #14293

Variants passed to `LookupContext#find()` seem to be ignored, so I used a setter instead: `finder.variants = [ variant ]` which seems to fix the problem.

I've also added some more test cases for variants. Hopefully this time passing tests will mean it actually works.

/cc @strzalek @dhh @jeremy