You'll either need to go into Cruz Bay or Coral Bay for restaurant/bar action. My wife and I go to St John every summer (land based) so I can't comment on the overnight stops, other than to say that I think Francis Bay would be a wonderful tranquil overnight. We always see lots of turtles in the seagrass there. Same with Maho Bay.

Driving around St John is easier than Tortola. The roads are better and there are great overlooks. Easy access to the north shore beaches as well. You'd have to pick up your jeep in Cruz Bay, but I'd highly recommend exploring the island to see the ruins.