It's simple: @yahoo mails = ok, filter works.
@other mails = not ok, yahoo doesn't filter these.
Unlike gmail, that has a anti-spam that filters all the incoming mails wether it's yahoo or your own domain's mail, yahoo still only filters its own mails. why?