Not exactly what you were asking for, but semgrep offers a general framework to do this. It actually includes the rule you mention: semgrep-rules/ocaml/lang/performance/list.yaml at release · semgrep/semgrep-rules · GitHub. Although the default OCaml rule set is not too extensive, so you end up writing your own rules as well, which is actually useful for project-specific or teaching-specific things.
I don’t mean to say a plugin system wouldn’t be useful, but for now you could also extend how ocamllsp computes diagnostics and add your own linting rules