Capt Ranong Chumpinit told the BBC that Daniel Clarke was found at 01:05 GMT on Saturday lying by the train track in Thung-Kha, Chumphon province.
He said Mr Clarke, from Aldershot, told police that he stepped out to smoke between two carriages when he fell.
The Foreign Office said a Briton had been hospitalised in Thailand.
"We are supporting the family of a British national who has been hospitalised in Thailand," a spokeswoman said.
Capt Ranong said a friend of the backpacker told police it was an accident.
He said: "We don't believe there's a foul play going on because his belongings remained intact."
A 21-year-old British man is in hospital in Thailand with head and leg injuries after he fell out of a moving train, Thai police have said.