We're the product, willing or not, and the metric some chainsaw companies care about is simply 'searched "chainsaw"'. Google is happy to sell our eyes based on that, whether or not it converts into actual sales.
In fact, for Google to deduce further and use ML to say "this user actually isn't looking for a chainsaw despite that search," and the reverse of "this user is looking for a chainsaw despite not searching it," probably wouldn't go over well for an advertiser paying for views. It turns Google into more of a black box, and would appear less trustworthy or understandable.
Additionally, aren't there filters companies can choose, such as targeting users who have searched for certain keywords?
Whenever I travel to another country they show me ads for that country, in a language I don't speak.
This is on a ~10 year old account that I use daily, that has my language and country as settings, so 0 data analysis needed.