[kcm/keys] Fix loading service data
We always assign a valid service pointer, even if the input desktop file was empty
This breaks the check whether we need to fall back to a different location
This causes krunner to have wrong data, like missing icon in the list
(cherry picked from commit 434d8dc3)