After some googling, I had heard that sometimes the tiny microphone hole gets blocked on the UV-5R. If you look on the left-hand picture, you'll see how small that mic hole is. The resolution to this is to either clear out the hole, or widen it.
I disassembled it according to this YouTube video and found that there's a rubber gasket behind the mic hole that has a larger opening than what is drilled in the plastic. I got out the Dremel and widened the hole so it matched the size of the rubber gasket behind it. Reassembled, and voila, I had a nice contact with no reports of low volume.