How to DPI "export" a task embedded in a uvm_driver to c code?

You can’t export a class method to another language; you need to make a wrapper task

class my_driver extends uvm_driver;

  task do_something(something arguments);
    ...
  endtask

endclass
task do_something_wrapper(something arguments);
  my_driver h; // Someone needs to initialize this 
  h.do_something(arguments);
endtask

export "DPI-C" task do_something_wrapper;

And remember, your C code needs to be invoked by importing a C task.