I think you played it fine. If he has a flush draw on the flop, he's going to raise call anyhow. So yes you're "charging him" but it doesn't really change the result if you jam.
By contrast, if you call and a heart peels we will call a shove anyhow and a flush card turning might induce some bluff shoves.
You played it optimally imo.