I'm not sure if this is somehow known/by-design. But passing app arguments via -- doesn't work when directly running dnx, but works when using dotnet dnx.
Run both dnx dotnetsay -- --help and dotnet dnx dotnetsay -- --help to see the difference.
The former shows the help of dnx itself, while the latter passes --help down to dotnetsay.