At best, try to dig your old kernel messages (via journal or messages) for the working case, and compare with the broken case. I'm not entirely sure whether it's a breakage in the kernel, though. It might be some changes in the user-space side (e.g. udev, which usually maps some media keys via hwdb, see /usr/lib/udev/hwdb.d/*). You can try evtest for checking the raw input device events, too.