I had the same issue, and cleaning the throttle body has fixed the issue so far.
It’s happening because the butterfly in the throttle body is dirty and it is sticking on the closed position. So let’s say you are driving at 25mph, you are coming to a stop sign and let go the pedal, the butterfly holds on the close position. While the tranny is doing the downshifts, the throttle still is on the closed until the tranny gets in 1st gear, then the butterfly is supposed to gradually get in to idle position, but since the butterfly it is sticking to the sides, it releases rapidly giving the impression of a hard down shift. But if you pay close attention, it actually launches the truck forward, even your a/c blower revs up, and it happens after the truck has been stopped for hours.
I figured this out because it did it so often that I already knew when it was about to happen, so I was testing by putting the truck in neutral before the “hard shift” happen and I heard that the engine was holding low rpms and then was doing a hard rev.
With the truck off, ignition off, and cold. I removed the clamp holding the air intake at the throttle body, disconnected the sensor on the intake tube right above the clamp, disconnected the plug going to the throttle body, removed the 4 bolts holding the throttle body down, sprayed it with throttle body cleaner, wiped it clean, and reinstalled everything back. I didn’t have to do relearn
Dirty throttle body. I removed mine, sprayed it with throttle body cleaner, wiped it clean, and reinstalled. No relearn or anything like it. Fixed my issue.