Much of Paul's letter to Timothy concerns Gnosticism and asceticism, which frowns on physical pleasure, in particular with regard to eating meat of any kind.
"They forbid people to marry and order them to abstain from certain foods" is referring to the attitudes of these people.
Many of the new Christian converts come from that background, and many of their friends and family still hold to it.
Paul is warning that these pagan beliefs will eventually find their way into Christianity.
Paul was speaking of the food that God had created for mankind to eat.
The NIV translation in the question doesn't make this clear, but many other translations make it more obvious:
- CSB: foods that God created to be received with gratitude
- ESV: foods that God created to be received with thanksgiving
- NET: foods that God created to be received with thanksgiving
- NKJV: foods which God created to be received with thanksgiving
- NLT: God created those foods to be eaten with thanks
- RSV: foods which God created to be received with thanksgiving
- YLT: meats that God created to be received with thanksgiving
Paul is saying that God created certain animals to be eaten by man, and the ascetic rejection of meat goes against what God wants.
Unclean meat is not food that God created; clean meat is.
Horses are meant to be ridden, not to be food for humans.
Pigs are meant to be garbage disposals, not to be food for humans.
Sheep and chickens were created by God to be food for humans, despite what the Gnostics believe.
When Paul says "everything God created is good, and nothing is to be rejected", he is referring to food created by God.
He is not talking about rabbits, because God didn't create rabbits as food for humans.
If one thinks otherwise, then they must also accept that poisonous mushrooms are good and not to be rejected, because mushrooms were created by God.
That is a ridiculous conclusion, but it makes just as much sense as applying the same logic to unkosher animals.