The issue with devise and broadcasting is warden gets angry. To get around this, I will pass a user object into the partial or use the Current Attributes. You have to be careful with broadcasts and the current user object because all broadcasts will be in the context of that current user. As a workaround, I have broadcasted an empty turbo frame tag with a src attribute which makes a request back to the app to get the actual current user object but depending on your scenario, it would create a n+1 request situation.
Importmaps is the ideal way to go in the future I think. It simplifies the environment quite a bit. However, esbuild has been a much more straight forward experience (especially if you're used webpacker in the past).
You can add some templates into your application. In my template apps, I have https://github.com/driftingruby/template/tree/main/template/templates/erb/scaffold set up to get back to the table type of index actions. You basically copy the templates folder to your lib and it will override the default behavior.