The reason the error was confusing at first is because I was creating local distributors (the best practice for peer-to-peer replication), not remote distributors. So why does it need a remote login?
As I dug in to it, I did see that the linked server was created, but not the login that it uses. So the login was indeed missing, though it was local, not remote. Why does it think it is remote? And why is it not creating the login? These are the questions I needed to answer.
Msg 18483, Level 14, State 1, Line 1 Could not connect to server 'MyServer' because 'distributor_admin' is not defined as a remote login at the server. Verify that you have specified the correct login name. .
Investigating further, I discovered that the test servers I was given to use were named differently from the configured server name. Unlike most other features in SQL Server, replication relies heavily on the actual server name. Even though I was creating a local distributor, the server name did not match what was configured and the login creation failed.
I could see the difference in the configured and actual server names by querying @@ServerName (configured) and ServerProperty(‘ComputerNamePhysicalNetBios’) These values should be the same on a stand-alone, nonclustered server. And one I discovered this issue, I fixed it using the old sp_dropserver/sp_addserver process to change the configured name of the local instance