Its difficult, isn't it - YJB is ranked about 12 in the world as a Test batsman. Naturally, we want to maximise his potential with the bat, and whilst he is improving fast, he is still only functional as a wicketkeeper. Common sense says you at least consider playing Buttler to bat seven and keep.
But...Bairstow is adamant that he wants the gloves, and has scored runs whilst keeping, and Buttler, whilst an upgrade, is really only a very small one.
One assumes YJB will bat five or six with Stokes filling the other spot. That leaves a vacancy at seven. If you think Buttler fills that slot more naturally than does Ballance or Ansari, I don't see why he can't be selected.