Sounds to me like a "misnomer".
A misnomer is a name or term that suggests an idea that is known to be
wrong.
Wikipedia article
Among the examples it gives is the one you have in your question:
The guinea pig originated in the Andes not Guinea, and additionally is
a rodent and unrelated to pigs.
Wikipedia article
Sometimes both words are inapt, sometimes one of the words are. Some examples where one of the words do not fit are:
- French horns originated in Germany, not France.
- Although dry cleaning does not involve water, it does involve the use of liquid solvents.
- Tin foil is almost always aluminium, whereas "tin cans" made for the storage of food products are made from steel.
Catgut is not the intestines of a cat, but usually another animal, and in some cases not gut at all, but synthetic.
Other words containing two recognisable sub-words such as your "shortbread" example that are both wrong discretely include:
- peanut (fairly obvious, not a pea, not a nut, but a legume)
- strawberry (not straw, and technically not a berry), as well as many other berries
So I'm not sure if you're looking for an even more specific word, but these are definitely considered misnomers.
All the information is sourced from Wikipedia. Wikipedia article
Oxford Living Dictionaries defines a misnomer as:
1 A wrong or inaccurate name or designation.
1.1 A wrong or inaccurate use of a name or term.
Oxford Living Dictionaries
However as Wikipedia notes, the use of the word isn't incorrect. In other words it's not wrong to call sweetbread "sweetbread" even though it's not sweet nor bread.
Another example is Rocky Mountain oysters, or prairie oysters, which is a dish of cattle testicles. They're not oysters, and they need not be obtained from the Rocky Mountains or a prairie.