I've heard of it but never tried it. I have tried packing a stock in kitty litter and leaving it in a very warm place for a month or so, and that does draw out a lot of oil. I also sometimes use kitty litter as an absorbent for oil spots on my garage floor. But recently, I was burning out some tree stumps and brought in a shovel one evening that had a clump of wet wood ashes on it. When they dried out, they fell off the shovel in my garage and I swept them into a pile and left them sit on an oil spot. When I removed them a couple days later, it looked like new concrete under the pile. The wood ash did a much better job of absorbing oil than the kitty litter ever did, so I'm wondering if wood ash would be even better (and cheaper) than diatomaceous earth on an oiled gun stock.
I would say the absorbent methods of oil removal are temperature dependent. The old congealed oil will flow toward the surface quicker when it is warmed. But you can over do it. I once was warming a forearm from an Ithaca Flues in an old microwave while wrapped in toilet paper as an absorbent. It was working great and oil was just oozing out and getting sopped up. I kept going a little at a time leaving the wood in the microwave long enough to get it very warm to the touch. I got a bit impatient and left it in longer and heard a cracking sound and found that the forearm wood split from overheating. Fortunately it followed the grain flow and I was able to glue and clamp it with some polyurethane glue for an invisible repair. Polyurethane glue is better than epoxy for wood that may still have traces of oil in it. I've de-oiled stocks with absorbents and solvents and thought they were clean. But after leaving them sit for a month or so without refinishing, more oil would migrate to the surface from deep within the wood. I think it's close to impossible to get every last bit out of very oiled wood.