Why does Gradle run with TestNG 6.9.9 when my project specifies TestNG 6.10?

My project specifies TestNG 6.10, and yet Gradle 4.10.2 is running with TestNG 6.9.9
This seems to be a bug in Gradle. I haven’t found any way to specify TestNG version beyond the expected dependency mechanism.
Running the same code from Maven, I get TestNG 6.10 - as expected.

It appears that the problematic instance of TestNG is bundled into the ‘selenium-server-standalone’ uber-JAR. This doesn’t cause problems in Maven, but in Gradle this uber-JAR is apparently getting placed on the class path ahead of the explicit TestNG dependency. Consequently, I end up running my tests in TestNG 6.9.9.