It's quicker for me to explain this problem that produce a minimal testcase for it. In AbstractJavadocMojo line 5079 we invoke:
This gets converted to addArgIfNotEmpty() with splitValue=true which means that comma-separated values get converted to newline-separated values.
--add-modules does not like this and does not consume the subsequent arguments (they probably get treated as source files instead).
We should be invoking addArgIfNotEmpty() with splitValue=false instead.
If I provide a PR for this, do you still need a testcase?
On a side-note, it would really help if they documented the expected behavior. I only ran across this by chance due to this bug report on OpenJDK: https://bugs.openjdk.java.net/browse/JDK-8165634 and when I converted newline to commas in my own project one of the error messages went away.