would people living in the Kingdom of Bonfrith be called Bonfrithians, Bonfrisians, or something else, according to correct grammar?
A quick search and I could not find any real life examples of countries ending in -ith which means there is likely no specific rule defined for that scenario. However I did find this article which goes quite in depth on the topic, and should be a good guide on how to approach it. Here is its final summary:
After seeing the distribution of the suffixes of nationality on a world map, and studying the origins of these suffixes, I think we should be reasonably convinced that the choice of suffix is not entirely a matter of chance or taste. Instead, there are historical and linguistic factors which determine why one suffix is used for a certain nationality but another suffix for a second one.
What do they identify themselves as?
From a world building perspective, grammar rules tend to take a back seat to how people identify themselves as and how external groups identify them as. Their history provides a huge factor in this (as AlexP demonstrates). For real life example look at the United Kingdom. People there have a wide variety of ways they identify themselves as (British, Scottish, Welsh and many more). People in the United States of America identify themselves as Americans, but back early in its history it was common for them to identify themselves by their state (for example Virginian). Also, someone in Brazil could call themselves American since Brazil is in South America.
Needless to say the decision is up to your people to make, and they might have differing opinions on the subject even in their own kingdom. So people in the nothern part may call themselves Bonfrithians, while those in the south call themselves Bonfrisians because they have an awful tendency to replace th sounds with s.
Options: Bonfrithians -- Bonfrithans -- Bonfrithish -- Bonfrithi -- Bonfrithee -- Carniolans (because the kingdom used to be the province of Carniola before the successful uprising centered around the city of Bonfrith) -- Frithish, Frithians, Frithans or Frithi (because Bonfrith means "goodness of Frithans" in Frithish, or because the Frithi nation is divided between the rival kindoms of Bonfrith and Malfrith).
You can choose. There are almost no rules in that regard. We call people from Britain Britons, people from Brittany Bretons, people from France French(men) and people from Italy Italians. You can even invent new suffixes based on their languages or history. Also, what is Bonfrith? A nation? A people? Does Frithia exist? Base your decision on that.
eg. In my world I have the Dimofragrian Kingdom, also referred to as Dimofragria. But the people are Fragrians and the main language is Fragrian. Dimo only reffers to the ruling dynasty.
If people from Britain can be called the English and if people from the Ottoman Empire can be called the Turks, I'm pretty sure you're not constrained at all. (Yes, the two examples might not be technically accurate - but I've definitely heard both in casual conversation.)
Bonfs? Bons? If they speak any Slavic family languages, i.e. Russian or Polsk, it will be Бонфрициане ( for many persons and Бонфрицианин for single person) for Russian language, and Bonfritsiane (or Bonfritsian in for single person) for Polsk. Maybe the shorter and more vulgar form will be Бонфрицы (Bonfritsy).
A firth is a narrow estuary, so really the kingdom is "The Narrow Estuary of Bon" (assuming the word is the same in this world). Hence, the people would be probably be Bons.
That being said, the history here matters. The Dutch live in the Netherlands, so people names don't always match up with country names (though they often do). Really, it matters what Bon refers to, and why the Firth, and the country are named after it. Was Bon a person, a tribe, some natural phenomenon? And is the whole country based around the Firth? Or was the Firth some initial territory that has since expanded or even been lost? Regardless they'd probably be named Bons, unless Bon refers to some natural phenomenon (the Netherlands means "the lowlands", so referring to the inhabitants as Nethers ("lows") would be weird.
Edit: Whoops! Misread the name. Still, Bonfrith sounds kinda like a compound word, with Bon and Frith meaning different things, so I stand by Bons.
Historically, it has often been the other way around: the land is named after the people. Hence the large number of countries whose names end in -land or -stan.
To answer your question,
... according to correct grammar?
English grammar, I assume. And the answer is that it could be almost anything, as English is happy to adopt words from other languages, and demonyms are often highly irregular. If you are deriving the name of the people from the place (as does happen, sometimes), Bonfithian seems right. But compare Mancunian (Manchester), Liverpudlian (Liverpool), Londoner (London), Hollander (North Holland & South Holland), Glaswegian (Glasgow), Galwegian (Galway), Corkonian (Cork), Rohirrim (Rohan) to see some of the variability out there. If you develop a conlang, you could derive the English word from that of the conlang.
Basically, the choice is up to you. You should consider the history of the kingdom, and think about where the name comes from. If the land is named after the people, then the people should have the shorter name; if the people are named after the land, then the name of the people will be longer: probably the land name followed by a suffix. Or the two names could be completely unrelated: consider the Dutch living in The Netherlands.