Dune 1.1 release notes say that -opaque flag is used for dev profile. However, it is not passed to the compiler (checked by using --verbose). Here’s the output of dune printenv:
For me the -opaque is used only for commands with a -impl for things like linking of libraries or binaries that doesn’t happen. And printenv show only your env as I know, not the complete env. Checked that with --verbose
-opaque is treated specially as is only passed when compiling .cmx and .cmi. Have you checked whether it is actually passed when looking at the verbose log?