I will do some of this:
1e had:
Each night the PCs stay anywhere other than in the castle (Area K), Strahd attacks with his wolves and bats. His attacks are intended more to frighten the PCs than to damage them. Strahd just toys with them. After 5 melee rounds, Strahd and his creatures withdraw.
If the PCs are indoors, every turn Strahd attacks, wolves try to break through a window or a door. A roll of 1 or 2 on 1d6 means that a wolf breaks through. Once a wolf gets in, the remainder of the wolves and bats come in. The wolves and Strahd never attack Ireena Kolyana. After 5 melee rounds, all of the creatures flee into the night, leaving only Strahd's hollow laughter in the distance.
1e had:
Ireena will join the fight b/c bitten twice. Has a good arm. Willful. Sweet but troubled woman.
I like this reddit person's Ireena involvement, but maybe wont work as is for me b/c our hidden weapons are already in the family crypt:
extra note: this worked for me in part because my party had previous opportunities to explore castle Ravenloft and were familiar with its layout by the end of the campaign (at least the lower floors, not so much the upper).
I had a general story arc for Ireena that went on throughout the entire game. Instead of posting it here I'll link it to save space. The conclusion of the arc was Ireena feeling defeated, hopeless, and heading to Castle Ravenloft to try to appease Strahd. Meanwhile, my party was at Amber Temple to retrieve the Sun Sword and gain weird powers. They arrived back in Vallaki to find out about what Ireena was doing and headed off to Ravenloft to save the day.
Phase 1: Chapel
The party arrived in the chapel ready to crash the wedding between Strahd and Ireena. Just about every notable NPC was there, along with some extra vampire spawn. Strahd ordered the party destroyed and everybody scrambled - initiative rolled for every entity in the room and each of them given their own priorities (listed at the bottom due to length, roll the initiative in advance to speed up the game). When Strahd is reduced to less than 50 HP I'd have him turn into a bat and fall back down the hall to recover and regenerate. (I know i can just have him phase but my group hadn't seen him transform and I think his forms are cool).
Phase 2: Entry Hall
Strahd would be on the ceiling (using his spider climb ability). He would say, "Ireena, I am disappointed that it has come to this. You know everyone will die, and you know it will be all your fault. If you are determined to throw your own life away as well, know that I will collect you again in the next one." Strahd and the 8 gargoyles attack the group. When Strahd is weakened enough like before, I'd have him head south, turn into a wolf, and head downstairs.
At this point Van Richten (who was with the group) would remark that this is ridiculous and Strahd can do this all day. Ireena mentions that he can move freely through the castle walls and he's virtually indestructible. However, he may be unwilling to allow the group into his family's crypts.
Phase 3: Flooded Dungeon
(I turned the whirlpool teleporter traps off because they're a pacing-killer)
In the main chamber with the platform and thrones, the zombies would emerge from the sludge. Strahd would remark, "You seem capable of handling the wretched shadows I throw at you. But can you handle your own?" and I'd have a Shadow Demon appear nearby for each of my players. He can already command Shadows but they're so weak, and in the finale with the Sun Sword they can definitely dispatch Shadow Demons. When Strahd is reduced enough he'll turn to mist and retreat behind the curtain.
Phase 4: Crypts
Strahd announces from somewhere hidden, "I didn't think you deserved one of these tombs. You've proven me wrong! This will be your final resting place!" I filled the crypt areas with ghouls, ghasts, and wights. Strahd can use his phasing to use hit-and-run tactics against the party, or more of his spellcasting.
The group can make their way to Sergei's tomb (if the players don't think of it themselves, RVR can come up with the idea). Desecrating Sergei's body (just attacking it will suffice) sends Strahd into a rage, foolishly allowing himself to be destroyed. When reduced to 0 HP he of course turns into mist and floats toward his own coffin where he can be truly destroyed. (his parents' tomb or his own would work too, but Sergei's is the closest to the route to the crypts)
Summary / Opinion / Debrief
Overall I think the finale was a success. The enemies themselves aren't super high CR, but dealing with all of them in a row turns the final fight into an ordeal that spans a good chunk of the castle. Things get mixed up enough at each phase of the fight to keep things interesting, and Strahd allowing himself to be destroyed is believable.
One problem I ran into was that my party would gun down Strahd in an encounter and force him to fall back, and then they then just kind of have to plunk away at the remaining foes. The gargoyles were especially bad for this. I'm not sure how I'd fix it, maybe fudge health and stuff and have them more easily dispatched? It's something to consider.
extra note: this worked for me in part because my party had previous opportunities to explore castle Ravenloft and were familiar with its layout by the end of the campaign (at least the lower floors, not so much the upper).