Blues have agreed an estimated £250,000 fee with both Coca Cola Championship sides for the 27-year-old Trinidad and Tobago international.
Coventry appeared to be favourites to sign John after Leeds dropped out of the race for his signature last week until a late bid came in from John's former club Nottingham Forest.
Steve Bruce signed John from Forest back in February 2002 for a bargain £100,000 and his goals went a long way in helping Blues return to the top flight two-and-a-half-years ago.