Your raise is fine IMO.

However, after he donk-3 bets you, his range is narrowed significantly. The limp can now be guessed at a PP that has made a set (lol@results but it's what seemed normal when reading the HH).

At this point, you're in a great spot since he 3-bet so small and will be unlikely to release his hand if you hit your flush.

The optimal play to me seems to be flat-call the 3 bet and re-evaluate on the turn depending on the price he gives you.

If you complete your flush, valuetaooown time.

If, however, you've seen this guy donk-limp big pairs in EP your play is closer to optimal, although an argument can be made for taking the good price and just stacking him when you hit...