Are you using the terrain to your advantage? All of the fights you described getting wrecked at can become a breeze just by using the environment to your benefit.
Fights solutionsDuring the fight against the skeleton mages before Wither’s coffin, don’t try to fight them in the giant open room, go into Wither’s room and wait for them to come to you while throwing some grease on the stairs before. Have your ranged characters take potshots at them and run back into the room. Same exact strategy for paladins of Tyr, lure them out of the house while dropping nasty surfaces on the exit. Hyenas you want to try to nuke before they turn/run for help, your paladin has Smites for that and Astarion can work his sneak attacks.
General tipsWizards are absolutely busted when paired with melee characters even early game (they only get more and more insane as they gain levels). Sleep is your best friend. Guaranteed hit + critical is lethal when used with a Smite or Sneak attack. Hold Person is a near guaranteed kill on a target if it lands, especially if you have a Hasted melee. In general, your spellcaster’s job is crowd control and AoE damage. Shadowheart’s default Domain is pretty meh, I always respec her into Light for way better spells and abilities. As a paladin, 99% of your spellslots should be spent on Divine Smites. Your spells are generally pretty weak (Heroism is pretty good early game), while Smites are absolutely insane. Potions of Haste are crazy powerful early game, use them on your Paladin whenever you are in a tough fight. Wear good armor/shields, Gale can use a shield with no penalties so slap one on him for free +2 AC. The most important advice is action economy is king. Use any means available to deprive enemies of their actions. Line of sight, surfaces like grease or web, crowd control spells. Make them waste an action to Dash to you while you wait for them with a Fireball ready.