If you make a print statement inside your reagent render, you will see that your component is recreated again everytime you click on the button. So compnoent did update is called because it is called everytime reagent-render is called.
(defn test-comp [counter]
(r/create-class
{:display-name "test-comp"
:component-did-update
(fn [this]
(prn "component did update"))
:reagent-render
(fn []
[:div
[:button {:on-click #(swap! counter inc)} "click"]])}))
(defcard-rg component-test
(let [counter (r/atom 0)]
(fn []
[:<>
[:div @counter]
[test-comp counter]])))
you can see that Created is only called once, and component did update is never called whenever you click the button.
I dunno if this answer your question.
but I guess it makes sense that did updated is not called because the reference (the atom) is not change.