I'm using Collections in darktable to achieve this. Have you tried it? Although I don't distinguish on an event basis I sort everything into folders by month.
-2024
--jan
--feb
...
--nov
--dec
-2025
--jan