The originally agreement was that the term slave would be removed from the UI, but left in the APIs to avoid breaking compatibility both for plugins and customer tools/scripts. The problem is that line of where the UI stops and the API begins is a somewhat fluid when your users are engineers.
I understand that filenames and urls are effectively part of the API and so changing them is problematic and could be considered out of scope. But filenames and urls are also part of the end-user experience (the UI) for every Jenkins user. And the files and urls related to adding an agent are some of the first and most commonly used.