The simple reason for this routing is that BHD-NCL and BHD-IOM are the two money makers out of the three routes. Last year passenger numbers were 23,424 for BHD-IOM, and 4,149 for NCL-IOM. When Flybe operated BHD-NCL (ended mid 2016) they carried 24,335 passengers a year.
Eastern also compete on BHD-NCL with easyJet who fly BFS-NCL. It makes a lot more sense to compete with a non-stop service than with a one-stop service.