As the title says. For normal members and other bot accounts when pulled as discord.Member or discord.User, it's working as intended. The issue is for self.bot.user only.
I believe this might be a slight misconception - user.display_name will always return the username (it's in there for compatibility with Member). self.bot.user is a user, not a guild member thus there will never be a nickname displayed by self.bot.user.display_name. For a guild-specific nickname, try using guild.me.display_name (rewrite) or server.me.display_name (async).
Thank you for the reply and solution. It was indeed my oversight as to how self.bot.user is without a server context as opposed to member. Allow me to close this issue.
Most helpful comment
I believe this might be a slight misconception -
user.display_namewill always return the username (it's in there for compatibility with Member).self.bot.useris a user, not a guild member thus there will never be a nickname displayed byself.bot.user.display_name. For a guild-specific nickname, try usingguild.me.display_name(rewrite) orserver.me.display_name(async).