Before going down the road too far, let's locate John W. Harper on the census. Once that's been done, it's going to be far easier to identify the right John Harper from all the candidates available in Tennessee military commands.
Given your description, a young man named J. W. Harper, age 20 (30?), born in Kentucky, appears in the household of William Harper, age 53. From the placement of his name on the schedule, the census suggests that J. W. isn't one of William Harper's sons. Older Harpers in this household give a birthplace of Kentucky.
This information is taken from the Obion County census schedule, page 38.