Firstly, for a 2NL game your giving your guy way to much credit re the flop call. His range is still incredibly wide. A LAG probably raises any K and his kicker could easily be much worse than a Q.
Middle pairs and flush draws are still in his range and he has position on you so could even have just floated with air. Any ace is also possible.

Your river Jack is hard to get away from but his river bet is almost never a bluff.

EV is calculated using your equity against his RANGE so if you aren't putting a flush in his range then this would be +EV. Obviously you were wrong though so just learn from the error in judgement re his flop range.