Sorry, forget my last post. I just noticed here that the recommended method is still to instantiate a ros2_control node, as it was in ROS1.
I was mislead by ros2_control_demos, where the controller is registered with pluginlib.