That’s how it’s supposed to work. You start a cast, then wait until it’s about to end and cancel it if the heal isn’t needed and let it land if the heal is needed.
On average, when the tank takes damage, you are half way through a cast so he will get healed, on average, half a cast time after he takes damage.