Regarding the backend. It does seem that Mastodon was the first one and has more functionality, but (1) Pleroma is catching up and (2) waaaaay lighter on resources. Mastodon is built on Rails, requires PostgreSQL, Redis, a task server (sidekiq) and optionally Elasticsearch. Pleroma goes by with just PostgreSQL and is built on Elixir.
Regardless of technology, what I'd really like to see in a future version of these AP-systems is the ability to manage multiple-domains with a single database / application server. Right now all implementations assume that the domain of the backend is the domain of every user in the instance. So this means that if I want to host Mastodon for a user with a custom domain, I'll have to spin a instance/database just for this user. If I could have a separate mapping between account / domain, one single instance could manage everyone.