Check the response payload in your browser. The UI doesn't give much info.
edit: I just checked it. It's not that Lemmy can't find it, it probably doesn't have code to handle these characters when it's in the URL path? The response status code is 500, which is internal server error.
edit 2: The clients probably directly use the person ID instead of the username or the username doesn't cause issues in this case for some reason, which is why it works:
https://join-lemmy.org/api/main#tag/Person/operation/GetPersonDetails
Maybe we can inspect what the clients' requests look like