Hmm. The 4th Ohio was not at Shiloh, as you point out. There were lots of troops from Ohio, some of them in units whose number ended in 4th (the 54th, for instance).
There was a John Burns in the 4th Ohio. He survived the war.
There was a John Burns in the 54th. They were at Shiloh. He did die in service. But it was as a POW at Savannah, Georgia.
Either there is some key fact in this story which is in error. Or he just made it up.