When I was asking about built independently I was talking about the old kernel with the working amdgpu driver, not about the new kernel which I know you built. We need to know about the amdgpu driver and how it got there so we can do something similar but with your kernel.
While I use a window manager, I’m mostly a terminal guy, mainly use the graphics for web browser and lots of terminal sessions. I also don’t use KDE at all, so no idea about KDE specific stuff, or most desktop generic GUI stuff. I stick to terminal command line since it works everywhere, so you will see my suggestions run that way.
As for the sound driver, since it is loaded, I expect it would work, but would have to search for how to test, maybe IIRC aplay, but I wouldn’t worry about it specifically.
You need to find the amdgpu driver in /lib/modules and which package put it there.
find /lib/modules -type f -name 'amdgpu*'
pacman -Ql | grep /lib/modules.*amdgpu
You can probably use yay too I guess, but you need to search file paths not just package names. For me, that package is linux61 package. Also interesting is exacly which modules do you have, and which are effectively missing in your compiled kernel, because you probably want everything to work.
for i in *; do (cd $i && find * -type f | sort > /tmp/m.$i); done
ls -l m.*
wc -l m.*
All the kernel modules for a kernel are usually in a directory in /lib/modules, and since you can boot both the original kernel and the manual build, you have at least 2 directories here. We have lists of every modules for each kernel in /tmp/m.* although there may be some uncertainty here because I don’t know you exact configuration, and you might have some external extra modules in a separate directory.
You can see from the wc -l output the count of lines, which is the count of modules, in each directory, and in general I expect them to be same for the same configuration and the same extra modules added. Since amdgpu is missing, probably not, yet.
That should give you a summary of modules for each kernel, and you can use diff to find the differences in the files, ie
diff -u m.old m.new
If you want to know what is in m.old, but not in m.new, and not common to both, then you can use something like comm:
comm -23 m.old m.new
read the comm manual to see the variations of -1 not in file 1, -2 not in file 2, -3 not common. Since it deals with negatives it usually confuses me a bit until i get it right.