Vlad Oh I think I explained badly the idea, the heuristics are about counting the number of distinct matches.
First case: [chocolate, LDL, cholesterol] vs [chocolate, cocoa, cholesterol] = 3 vs 2 (cocoa probably just matched with chocolate)
second case: [quantum, computers, computing] vs [quantum, computers, decoherence] = 2 vs 3
third case: [mastodon, make, account] vs [making, account, private, mastodon] = 3 vs 4 (title should be counted as match so hard-to-miss matches like "mastodon" in this case is not a penalty)
fourth case: [planned, obsolescence, android, ios] vs [planned, obsolescence, ios] = 4 vs 3 (although maybe "samsung" could match with android too).
In all cases, this heuristics give what, in my opinion, is better.
A basic implementation would be just taking the size of the set (non-repeated) of matched words. An improvement would be ignoring synonymous as different words ("chocolate" = "cocoa") and ignoring stop words not critical to the measurement. Another improvement would be using word embedding to select the one with the closest snippet (probably overkill too).