Let me start off by saying that Curse of Strahd certainly has some very challenging encounters, many of which can be stumbled into at points when the party is woefully under-levelled. I've only run it once so far, but that did end in a TPK.
In Vallaki, the party has the opportunity to run into a nest of vampire spawn whilst investigating a coffin maker's shop. The coffin maker (at least under my interpretation) is being kept as an unwilling servant/hostage of these vampires. I tried to give as many hints as possible that the coffin maker was scared of something in the shop - he was glancing over his shoulder, refused to let them in, would only speak in a whisper and asked the party to meet him later 'somewhere safe' suggesting the inn. Unfortunately the party didn't take the hint. Instead, they separated, two distracted the coffin maker, whilst the remainder broke into his house. I tried to give further hints - letting them spot many footsteps around large body sized crates in the dust of the storage room. I even pointed out that the cleric in the party felt something deeply disturbing from the room. Irrespective, he cracked open the crates, triggered an enormous fight and ended up dying.
It's important to note, however, that this type of danger is a common feature of sandbox campaigns. On top of that, this is a horror campaign - it is not unreasonable that if the characters poke around the dark corners of Barovia whilst uninformed of what lies within, they may end up angering something much more powerful than themselves. I personally feel that without such a threat, the player paranoia and tension necessary to maintain an effective horror theme can end up being lost or diminished.
Players should be made aware of this when starting the campaign and they should note that often discretion will be the better part of valor. It also behooves the DM to provide more narrative warning in such cases - signs of danger, direct warnings from NPCs, and (for when it all goes awry) avenues of escape. Even with this, however, encounters can and should have the potential to be fatal. At that point it is down to each DM how such an encounter plays out - nothing precludes you from granting strokes of luck, fudging rolls, or throwing in timely ally arrivals when things go south. Only you know your players and the game you are running, hence it's up to you and what you most feel makes for a fun game around your table.
With regards to your specific examples:
Death House - this is a hard starting adventure, but one that I found to really set the scene and vibe of the campaign. The shadows at the statue, the two ghasts, and the shambling mound stand out as all potentially being fatal encounters. The shadows, however, are extremely avoidable and are essentially a consequence of a lack of caution. Much of their threat depends on the party composition and their ability to output magical damage. Contrary to the book I would probably not have the shadows pursue the party out of the room, and may have them vanish if (for example) the orb was returned. The ghasts and the mound are tough, but certainly doable if the characters play smart.
and
Bonegrinder - I feel that warnings discouraging the party from entering too early are key to this adventure. The Vistani at Tser Pool may have warned the party away from there, knowing their destination and based upon what is written on pg. 28. Additionally, the raven should be extremely vocal in trying to ward off the players. Remember, the raven will be in league with the wereravens of Vallaki and essentially a force of good. Hence, assuming the party did head in and end up in fight against the three hags, having the raven summon help in the form of a swarm or a wereraven may be one solution to avoiding a TPK.
You can't use a shield with the Bladesong, dropping you to 34+1d10+1d8; however, by holding a second weapon in your off hand you can take the Dual Wielder feat, adding another 1AC. The Fighter's Defense style doesn't work either (no armour), so you're down another point.
We can also get behind three quarters cover, adding an extra 5, bringing us to 39+1d10+1d8.
Finally, let's drop three levels of Bladesinger and five of Bard, replacing them with Hunter Ranger 7/Cleric 1. The loss of Haste is replaced with the Cleric's Shield of Faith; the Bard drops to a d8, but in exchange we can get Multiattack Defense, which gives us +4 to AC versus a creature who's already hit us.
Final total: 43+2d8
Best Answer
Dual-wielding Monk
A simple way is to be a Monk with the Dual Wielder feat, 20 Dex, and 20 Wis. This gives you a 20 AC from Unarmored Defense, with +1 from the Dual Wielder feat for a total of 21.
This can be increased by 2 in most combat rounds if you're a Kensei. If you use a kensei weapon and a monk weapon in your hands to count as dual-wielding, you can make unarmed attacks by kicking your enemies. Any round you kick using your Attack action gives you +2 to AC from the Kensei's Agile Parry feature, for a total of 23.
Defensive Style
A Fighter, Ranger, or Paladin can take the Defensive Style feature, which gives them +1 AC when wearing armour. This gives them a maximum of 21 (18 from plate, +2 shield, +1 style).