That's the point, though; you use 'foo' and 'bar' when you want the reader to focus on an abstraction, instead of potentially distracting them with the details of a concrete situation.
Once the ‘programming bit’ is flipped in someone’s brain, I think metasyntactic variables like foo and bar become very instinctive and easy to reason about. You have activated the part of your brain that visualizes things as abstractions with placeholders.
The problem is when foo and bar are used in material aimed at beginning programmers who are still developing that instinct and who haven’t yet got that bit set.
It seems the "foo" didn't come from that, but once "foo" was in wide adoption, the "bar" likely suggested itself automatically to someone familiar with "fubar".
Yup. The point of an example is to let the learner leverage their intuition about one concept to guide their understanding of the other. It requires realistic examples. Nobody has useful intuition around what a "foo" is. It contradicts the very point of an example.
"Foo" and "bar" are hacker culture signifiers, like "yo" and "word up" are hip-hop culture signifiers. Even if you don't consider yourself a part of hacker culture, understanding its history and peculiar lingo is probably a good idea if you contribute to a site known as "Hacker News".
The Jargon File, though largely historical and obsolete, is a good place to start: