I'd open a Draft PR and an Issue to explain the problems you encountered and how you've solved them for your own use cases... then leave it up to them to learn from it or close it.
I get annoyed with "drive-by PRs" only when they lack context or are clearly just a way to get some commits into a project (typos and so on), but any findings that can improve my code or its performance is welcome, in my projects at least.