Hmmm. I did get a little farther with the native JavaSettings. I found the sample code I am using had defined "StringDeserializer.class.getName()", where "StringDeserializer.getClass().getName()" seems to work better. Now the errors are:
loadColdFusionClassPath = false: "Invalid value org.apache.kafka.common.serialization.StringDeserializer for configuration key.deserializer: Class org.apache.kafka.common.serialization.StringDeserializer could not be found."
vs.
loadColdFusionClassPath = true: "loader constraint violation: when resolving method "org.slf4j.impl.StaticLoggerBinder.getLoggerFactory()Lorg/slf4j/ILoggerFactory;" the class loader coldfusion.runtime.java.JavaDynamicClassLoader @18815a8b (instance of coldfusion.runtime.java.JavaDynamicClassLoader, child of coldfusion.bootstrap.BootstrapClassLoader @695c938d coldfusion.bootstrap.BootstrapClassLoader) of the current class, org/slf4j/LoggerFactory, and the class loader coldfusion.bootstrap.BootstrapClassLoader @695c938d (instance of coldfusion.bootstrap.BootstrapClassLoader, child of org.apache.catalina.loader.ParallelWebappClassLoader @2b5f4d54 org.apache.catalina.loader.ParallelWebappClassLoader) for the method's defining class, org/slf4j/impl/StaticLoggerBinder, have different Class objects for the type org/slf4j/ILoggerFactory used in the signature"
I'm still experimenting...