SeleniumLibrary doesn’t play well with shadowroot. What you’ve tried with Execute Javascript is the only approach that I know of that will work with SeleniumLibrary, so if you have to stay with SeleniumLibrary keep perusing that path. From my understanding it’s a limitation in the underlying Selenium, not SeleniumLibrary itself.
There is an easier option, use Browser Library (which uses the playwright engine), this library pierces through shadowroot, so you can just select the element you need.