Below link help you regarding local transport.
Further, as per my last searching (March 2018). I did not found any direct bus from Lahore to Bahrain or Kalam. However, I found 2 buses Swat Coach and Shahid Coach which caters Mingora, Swat from Lahore. In order to directly go to Bahrain or Kalam or Bahrain then Kalam you have to go 1st Pindi. From Pir Wadai adda (Pindi) you can directly go either mingora, bahrain and Kalam wherever you want to go.
Regarding fares you may see my last blog. Further, minimum fare from Lahore to Mingora will be around 1100 of shahid coach and 1200 of Swat Coach. From Pindi to Mingora fare will be around 400 to 500, to Bahrain 500 to 600 and to Kalam 550 to 650.
Hope the above would suffice.