Preflop call is fine, you have enough
odds to call. And contrary to popular belief, the shorter you are, more often you can call on big blind with speculative
hands because your reversed odds are smaller.
On the flop, I don't see any reason to donk-bet. You should donk-bet only and only when the flop hits your range much better than villain's range. That is not really case here. Also, by donking you are weakening your already weak checking range. think about it like this, when you check 100% of your range, you would fold around 45% of your range when villain bets. That is already overfold in most cases. But if you start donking top pairs, then your check-fold frequency jumps to ridiculous numbers. For all these reasons you should plan to play check-call flop and re-evaluate on the turn.
As played, on the turn it's time to slow-down and check-call one street. Yes, villain can have flush draw, but he also might already have it and have ton of hands better than yours. By betting you are value-betting yourself. As played...
River, well, here we go. On the turn you bet was bad. Just bad, because you are at least making villain pay for his draws. Here you don't even have that. There is absolutely no single reason to bet. There is nothing weaker that villain will call, and if he has flush or set you are setting it up perfectly for him to push. Awful play.