Hi!
Your first mistake is already in your first sentance. You did not call in SB with mediocre hand but vs BTN open raising range you are calling with pretty close to premium hand.
Equity Win Tie
BU 39.65% 37.39% 2.26% 44+, A2s+, K2s+, Q6s+, J7s+, T7s+, 97s+, 87s, A2o+, K7o+, Q8o+, J8o+, T9o
SB 60.35% 58.10% 2.26% AJo
...you can add some hands and remove some but it should be pretty clear that AJ is waaaaay ahead of his range...
...and when you add that you are on SB which is worst position and that you want to make BB fold you really dont want to call there ever....its a tipical raise or fold spot preflop....with this one its no-brainer 3bet.
Flop is fine...so is the turnbet but I would 3bet turn here.It really looks like that J improved his hand and since you beat all reasonable Jx you want to extract some $ from KJ,QJ,JT. But dont blame you for just calling down vs unknown and taking a read.
River donk has no point.Its to prevent him from freeSD I would assume but since you already made up your mind that you are not favourite after his turnraise what really changed on the river? Absolutelly nothing... so either go for turn 3bet or calldown.
If you want a funky line which wants to extract value(like turn 3bet does) you can call turn and c/r river but vs unknown I dont like it much...still it makes more sense that donk.