Discord considers all servers public, not because they actually are (many are for friend groups or even classes etc.), but because that'd mean your consent for keeping any message you send is in question whenever someone is invited to a guild you were not expecting there. Their argument against removal is always "following public conversations is in the public interest". Any European court would tell them to fuck off if someone finally sued them over ignoring GDPR requests, because in the end most Discord servers (absolute numbers, not by volume) can not be considered public.
The thing is there is no user→message mappings stored in their database. The data structures are designed for message→user traversal. Nothing like Facebook's user activity log.
(on small servers they're unfortunately on-demand, but you could still store a set of all guilds a user ever joined and build an overview)
[0]: https://blog.discord.com/how-discord-stores-billions-of-mess...