No, the Dryad does not work on stoneheart units. They have their own special jobs to do supporting your army.
I did test this. I selected a random castle on the map and picked some stoneheart units to send as reinforcement. I selected and then deselected the Dryad and the numbers did not change.
I tried this again with Undead Dragons and selected and deselected the Dryad, and the defense total at the bottom right did change.
Hello Lord Pokie , has right Tina Klaus , that champion give the defense bonus just to the normal units.
You can easy test that selecting normal units with and without champion for send reinforces to a castle and after that test in the same way with stoneheart units !
I wish you a great day and enjoy the game !