Could I enter Bulgaria with my British passport if both my Bulgarian passport and my Bulgarian ID card have expired?
Bulgaria technically does require a travel document, even Bulgarian ones, to be unexpired. In practice, of course, it's extremely unlikely that they'd actually deny you entry: however, getting on a plane is unlikely to be possible, as airlines have Information about the requirements.
My Suggestion is: use your British passport at check-in. Then, at Bulgarian immigration, Show 1. your British passport and 2. your expired Bulgarian ID Card (or passport)
Because, although British citizens technically cannot be refused entry to Bulgaria other than on security-related grounds, in practice if you have a Bulgarian first or last name, or otherwise appear to be of Bulgarian origin, presenting one of your Bulgarian documents is likely to prevent possible harassment.
I'm partially of Hungarian origin and have a Hungarian surname, but am actually Swedish (and solely a Swedish citizen), and I've been harassed by the Hungarians for only holding a Swedish ID Card. After I turned out to only have basic knowledge of the language, however, they were surprised and let me go
A foreigner may enter the Republic of Bulgaria if he/ she is a holder of a regular foreign travel document or another equivalent document as well as a visa if required.
I would argue that you are a
foreigner (though this is contentious), as a British Citizen, and that as you hold a valid travel document - a British Passport, you should be fine to enter the country.
I think it would be best to clarify with the embassy though if you are unsure (you should be able to renew your passport there too) - there's one in London