In the freezeout stage of a £20 + 1 buy in + 1 top up in cincinatti's last night. 3 tables, we're 8 handed.
Blinds are 200-400 and we're sitting with

in the BB. We havent played a hand in a good few rounds of the table just folding our rags. We have 22k to start the hand, we're sitting 2nd CL at the table but most of the stacks are fairly even between the 17-25k mark. 3 limpers including the SB and we check.
Flop comes

Pot is 1600, SB checks, I bet out 1100 to find out where I stand, 1st limper from MP calls, the 2 others fold. This other player is a serial limper preflop, plays very passive and doesnt like to let go of cards this early into a hand. At this point I was thinking he is slowplaying the 9.
Pot is now 3800 and the turn is

, I check to him and he checks behind.
River is

giving me the K high flush, I bet 2200, he looks at the board for a bit, picks up his chips, checks his cards and then shoves for 5100 more.
I timebanked and came close to passing but I called with my K high flush. I really didnt put him on 95/94 or 92 with a limp preflop for the boat and although 99/55/44 and 22 are possible from the preflop limp perspective I think its unlikely as there are 2 9's and 2 5's out already. I also dont think he would call on the flop with 44 or 22 looking to hit so I think my main worry is the

but I also think he would do the exact same with

or a bare 9 which is why I eventually. He shows 5s5h which flopped the boat.
Just wondering what you think of the hand. Should I have played it any different? Check the flop and/or bet the turn? Should I be calling the shove on the river or is it obvious he has me beat?
Thanks