We use Shadow DOM extensively in the CCC project and are finding o-tracking doesn't work in declarative mode when the data-* attributes are rendered in the Shadow DOM.
I suspect it'd work if you added a config option for setting delegation target that allowed you to pass a different value (e.g., shadowRoot) to Delegate() here:
https://github.com/Financial-Times/origami/blob/main/libraries/o-tracking/src/javascript/events/click.js#L74