Well, scratch that. With StartupWMClass still set to "net-sf-jabref-JabRefMain" in my Jabref.desktop, apparently after logging off and back on, JabRef now only shows a single icon after starting, and interaction with in the icon seems to be working fine, just as with other, non-Java apps.
So, perhaps Unity caches the contents of .desktop files somewhere (or at least those in the Launcher), on disk or in memory?
Well, scratch that. With StartupWMClass still set to "net-sf- jabref- JabRefMain" in my Jabref.desktop, apparently after logging off and back on, JabRef now only shows a single icon after starting, and interaction with in the icon seems to be working fine, just as with other, non-Java apps.
So, perhaps Unity caches the contents of .desktop files somewhere (or at least those in the Launcher), on disk or in memory?