Documentation[1] to the rescue, you just have to know where to look because it isn't kernel specific...

Added this to dnf.conf:
installonlypkgs=kernel,kernel-devel

And now it's not removing kernel-devel... I'm not sure if the kernel one is needed (not sure where the defaults come from and if they're overwritten when you specify it yourself).

Question remains, this is the first time I've modified my settings so why is my system behaving differently?

Thanks,
Richard