Some icons are showing as blank with no image, and after a bit of trial and error it seems that there's a difference in how icons are being loaded between the desktop and the app launcher.
In the app launcher, the icon file needs to be named with a full path, like this
Icon=/usr/share/icons/proton-vpn.svg
But for icons on the desktop, the icon needs to be referenced like this or it won't load (you get a blank icon).
Icon=proton-vpn
It's the same file, same location etc. But the same desktop file won't work for both.