Taking an example Java servlet file ProtonServlet.java, when I add an unused import there's an event like this:

[server-notification] Sun Dec  4 12:01:33 2022:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
 (:uri "file:///home/neptunestationorg/Work/GitHub/ProtonChamber/src/main/java/org/protonchamber/ProtonServlet.java" :diagnostics
[(:range
 (:start
  (:line 3 :character 7)
  :end
  (:line 3 :character 15))
 :severity 2 :code "268435844" :source "Java" :message "The import java.sql is never used" :tags
 [1])]))

That makes sense. When I delete the unused import, there's an event like this:

That also makes sense, as it seems to be that the server is publishing an empty list of diagnostics for this file. Nevertheless, the flymake-show-project-diagnostics buffer still has this entry:

ProtonServlet.java            4   8 warning  n        Java [268435844]: The import java.sql is never used

Also, I see that sometimes warnings are supplied by one back-end, but then when I fix the issue the same warning is then provided by a different back-end. Here's what I mean. I have another file with an unused import for java.sql. When I do, the diagnostics buffer shows an entry from the e-f-b back-end, which I take to be the "eglot-flymake-backend":

SQLServlet.java               4   7 warning  e-f-b    Java [268435844]: The import java.sql is never used

If I delete the offending line, the diagnostics buffer replaces that with this:

SQLServlet.java               4   8 warning  n        Java [268435844]: The import java.sql is never used

I don't know what the n back-end is, but evidently it's publishing its own diagnostic for this code 268435844 which somehow is shadowed by the same diagnostic for the same code from the e-f-b back-end. When the e-f-b back-end correctly publishes an empty diagnostic report for this file, the diagnostic report from the n back-end becomes revealed. Or something like that.

Finally, I was sent a patch, which is attached.  When applied, that seemed to fix the issue.