The “Bluesky API” is the appview, but the avatar is stored in your PDS. Even if you’re using a PDS hosted by Bluesky, it’s a different component that’s being asked to serve the avatar.
That does look weird to me. I would expect it to more generic because this would be miss data stored in PDS outside bluesky. At least according to my layman understanding.
> Self-hosting a Bluesky PDS means running your own Personal Data Server that is capable of federating with the wider ATProto network.
So pds (personal data server) is like the container where you chose to store the data and it follows a certain standard.
If the container is hosted is bluesky, i still consider it a "bluesky api" but I understand the nuance better now.