Seems strange that this JIRA has been pushed out completely and marked as "minor", while the likes of
JENKINS-40487 is in and is marked "major". Both of them are essentially the same problem i.e. reducing the number of backend calls that the client-side needs to make.
I have a tentative fix for this using localStorage, the basis of which I think can be a very useful piece of infra to help us with per domain caching of other things e.g. localization data, maybe CSS, client-side logging levels if we get to doing that right etc etc. In this specific case, it results in the calls for classes to be completely eliminated once the client has loaded and cached that info, with the cache being wiped/invalidated if there's a new Jenkins instance on the backend, or if the plugins change (installs, updates, removals).