Attacking the camp is never the only option
There are a lot of factors that go into determining the balance of encounters in D&D. The CR guidelines, players skill, party composition and often the DM gut instinct all play a role. Without being in your DMs head or even at your table we can't tell you if they are stacking things against you. However we can give you a breakdown of things that might have impacted the encounter here.
DM Things
Here I'm going to discuss things that might have impacted this fight from the DMs side; encounter design, DM technique and potential mistakes.
The encounter
Yii Elfe's answer already gives a good breakdown of the CR math to show that; yes, in pure balance terms by the DMG this encounter was too hard. However there is a lot more to consider than just that. At the end of the day, you survived so; no, the encounter wasn't too difficult for you.
Encounter math is only a guideline at the best of time. Due to the variety of party combinations and player skill an encounter that is difficult for one group might be a cake-walk for another. Potentially your group regularly punches above its weight in CR terms and your DM has adjusted for this as a good DM should.
Encounters per day
The "balance math" of D&D is set up for 6-8 encounters of medium-hard difficulty per day. If you are fighting less than this, you can handle bigger fights. KorvinStarmast has a great answer to a very similar question where a player is trying to break down the encounter they just experienced.
Basically if the players can spend all of their resources on a single encounter, so can the DM and the balance still works out.
DMs are human too
In Yii Elfe's answer they mention the modifier for large groups being the factor that pushed this fight beyond the deadly encounter level. Without this the encounter would only have been hard-deadly. It is entirely possible that your DM simply forgot this modifier, working directly off the XP budget for the encounter without considering the number of creatures. I will admit I have done this in the past.
Player things
Here are some things that you can consider for future encounters to be prepared for challenges like this.
Were you really meant to fight them?
What was the motivation for assaulting the camp? Was an all out attack the only option? Could you have retreated and come back with reinforcements? To me this sounds like players not thinking outside the box.
I often put war-camps or large groups in front of my players that they would have no chance of fighting in a straight up battle. The point is to encourage them to think outside the box. Find allies, divide and conquer, stealth attacks and guerilla warfare, all viable options to shift the odds in a fight like this.
The problem is if this clashes with the campaign expectations and the way things have played up to this point. If the DM has been running the game such that you can always handle any fight put in front of you, then throws this at you with no warning, that is a little bit unfair. If may be worth having another session 0 to check that the players and DM are on the same page regarding how the game should be run.
Combat tactics
Was there a clear leader controlling the enemies? It sounds as if the druid may have been in charge of this band. Did you focus fire on the leader to bring them down? Your DM may have been using morale rules or similar to have the minions run away if the leader is killed.
Did you utilize buffs, area control and AoE spells? Without details of your party we can't be sure of exactly what ability are available to you. But most 8th level parties will have access to some decent buff spells and at least one Wall of X spell. Wall spells are great in encounters like this to separate your enemies and mean you only have to fight some of them at a time. Spells like confusion and dominate beast can also turn and enemy into an ally, shifting the odds of the fight in your favour.
Reconsider your goal
The way you discuss grinding through the enemies sounds as though you were trying to kill everyone in the camp. In my campaigns, "kill all the things" is very rarely the goal of any encounter. Were you there to steal something back? Drive them off? Eliminate the threat from a local village? In each of those cases killing all of the enemies isn't really required. Hurt them badly enough and they shouldn't cause a problem for a while.
In every fight it is important to know what you are trying to achieve and why you are there. Sometimes it is worth fighting to the death, often it is smarter to run away and live to fight another day.
Conclusion
Ultimately you survived the fight, any fight you walk away from wasn't too unfairly balanced. I believe you should give your DM the benefit of the doubt, either this was balanced to your party based on experience, or they made a mistake, either way they are human and doing a hard job. You might like to gentle raise your concern though, if it really bothers you.
In the mean time, reassess your own strategy. Did you play this situation as cleverly as you could? Was there another option? Could you have avoided a direct confrontation? Remember there are 4 players and only 1 DM, you can always think of something they haven't planned for.
Finally, your DM has given you something amazing, a memorable fight. Really this is what D&D is all about. In years to come your will look back and recall "remember that time we took on that massive camp?" and laugh about it. Enjoy the game for as long as it lasts.