Abdullah ibn Ubayy (the head of the hypocrites) used to offer Salah, faced the Qiblah and ate halal food of the Muslims. Was he a Muslim or a Kafir? If you say that he was a Muslim then you yourself have become a Kafir, because the Quran says that he was a Kafir (Quran 9:84) and hence you essentially are denying the Quran, which is Kufr.
Let us take another example, suppose that today a new sect is born. They believe in everything about Islam but they deviate in one point and say that Jesus is god. Will you call these people Muslims or Kafir? If you call them Muslims then you yourself will become a Kafir because the Quran says that they are Kafir (Quran 5:72) and you are denying it, hence becoming a Kafir.
Let us take a third example, suppose that a new sect is born. They believe in everything about Islam but they deviate in one point and say that Moses was a false prophet. Will you call these people Muslims or Kafir? If you call them Muslims then you yourself will become a Kafir because the Quran says that they are Kafir (Quran 4:150-151) and you are denying it, hence becoming a Kafir.
Hence Takfir is permissible, in fact it is obligatory as long as the person who is being takfired qualifies for it. What is forbidden is to do takfir of a person who is not a Kafir in reality, but rather you falsely call him a Kafir e.g. out of some personal dispute or out of mere suspicion.
من دعا رجلا بالكفر، أو قال: عدو الله، وليس كذلك إلا حار عليه
Whoever calls a man a disbeliever (Kafir) or says to him: 'O enemy of Allah!' when he is not like that, it will rebound upon him.
— Sahih Muslim
أيما امرئ قال لأخيه يا كافر فقد باء بها أحدهما إن كان كما قال وإلا رجعت عليه
Any man who says to his brother: "O disbeliever," it will apply to one of them. Either it is as he said, otherwise it will come back to him.
— Sahih Muslim
The highlighted part of the ahadith is proof that the prohibition is not unconditional, rather it is only prohibited to make a false accusation of Kufr.
When someone commits actual Kufr, such as by rejection of an established creed of Islam (such as the end of Prophethood) or by claiming that something obligatory has now become haram (like Jihad) - then he has become a Kafir and it is essential to do his takfir. Indeed denying or doubting Kufr of a proven Kafir is by itself Kufr, see How did Ibn Abd al-Wahhab derive the third nullification of Islam: "whoever does not make takfir to the mushrikin ... he has disbelieved"?
You asked about the hadith:
Allah's Messenger (ﷺ) said, "Whoever prays like us and faces our Qibla and eats our slaughtered animals is a Muslim and is under Allah's and His Apostle's protection. So do not betray Allah by betraying those who are in His protection." (Bukhari 391)
Firstly, please note that in reality anyone who denies any part of Islam which is proven by Ijma' or Tawatur such as a Quranic verse or its agreed upon meaning - has become a Kafir.
This hadith does not mean that merely praying towards Qiblah and eating halal meat is enough to make one a Muslim. I have already given you counterexamples above which invalidate such an understanding of the hadith. The hadith does not give an exhaustive list of matters which are required to be considered a Muslim, rather it only mentions some as an example. A variant of the hadith is as follows:
أمرت أن أقاتل الناس حتى يشهدوا أن لا إله إلا الله وأن محمدا رسول الله فإذا شهدوا أن لا إله إلا الله وأن محمدا رسول الله واستقبلوا قبلتنا وأكلوا ذبيحتنا وصلوا صلاتنا فقد حرمت علينا دماؤهم وأموالهم إلا بحقها لهم ما للمسلمين وعليهم ما عليهم
I have been commanded to fight the people until they bear witness that there is none worthy of worship except Allah and that Muhammad is the Messenger of Allah. If they bear witness that there is none worthy of worship except Allah and that Muhammad is the Messenger of Allah, they turn to face the same Qiblah as us, they eat our slaughtered animals, and they pray as we pray; then their blood and their wealth are forbidden to us, except for a right that is due, and they have the same rights and duties as the Muslims.
— Nasai
And a person who openly rejects any part of Islam has failed the first condition i.e. testifying to لا إله إلا الله وأن محمدا رسول الله because rejection of any part of Islam is essentially a rejection of Allah and Muhammad ﷺ.
What this hadith means is that if all of a person's outward beliefs and actions are in accordance to Islam, then treat him as a Muslim and do not have unwarranted suspicions about what he might hide in his heart. This is not applicable to the groups which are declared murtad or zindeeq by the scholars, because we only takfir them as a result of what they openly express of their beliefs and actions.
The second hadith is covered by the above discussion, it is a prohibition of a false accusation of kufr. It does not prove anything more. And the third hadith does not prove anything of the sort either.