Head cheese doesn’t contain any cheese either. And sweetmeats aren’t meat. But sweetbread is meat, not bread.
And if you go back far enough, Middle English mete just means “food”. Food from an animal’s body parts was flesche. It’s almost like words change meanings, and language doesn’t care what l’Académie Française says.