Thanks a lot for moving the thread!

Yes, the bug could potentially be caused by a mod — as I am running mods now, and didn’t do so on my first playthrough. However, my first playthrough was also still before Patch 7, and on balanced, not in custom mode. More importantly, I’ve found other people having this same problem, it seems to be much older:
https://steamcommunity.com/app/1086940/discussions/3/3823048293508752047/Some people conclude this problem may occur because Healing Word, Thunderwave etc. are “innate” spells for Halsin.
The Unlocked Level Curve (13-20) Mod previously had a bug affecting Halsin’s Wildshape. This bug however has been fixed by now.
And the people in the Steam thread don’t mention any mods, yet are still having this problem anyway.
I’ll check with a Druid Tav while having the Unlocked Level Curve Mod active. If a Druid Tav can’t cast these spells either while the mod is active, the mod is likely to be the cause of the problem.
In turn, I’ll also check Halsin with a non-modded Tactician run — but that will take a while. My most-progressed standard Tactician run is currently in the Underdark, so still a while until I can recruit Halsin.
EDIT: Just checked with my Druid Tav, she can perfectly cast both Thunderwave and Healing Word in combat, can also upcast both, with all the mods of my current main playthrough active.So the bug seems to be a) with Halsin specifically, rather than with druids in general, and b) doesn't seem to be caused by any of my mods, unless the mods affect Halsin specifically, rather than druids in general.
It’s also interesting that Halsin can cast Healing Word if he receives it from a piece of equipment. However, those spells can’t be upcast. Perhaps that’s the reason why they work.
The thing that blocks my Halsin from casting his own Healing Word and Thunderwave is the fact that, in the upcast window, all the levels are greyed-out, as if he had no spell slots remaining. When the upcast window doesn’t show up, such as when using Healing Word from an item, the upcast window can’t act as a roadblock in this manner.