Yeah sounds good. The only thing I wouldn't allow is for the JS to be executed in app as it could cause crashes, but would be allowed to work on preview in browser and export naturally.
The way a custom bric would work is, all of it's visual data would be nested within a selectable wrapper on the design canvas, a bric wouldn't be allowed to contain sub items that are selectable as it start's to get more complex. They could exist but not be directly selected, kinda like how the HTML widget works at the moment.
Because the sidebar in 2.4 is now native I could allow input fields and drop downs etc for the custom bric so you could implement data attribute values etc for the object and it's sub objects.
Ideally I would want to make this process as simple as possible, I don't expect folks to learn Cocoa or Swift to create them. Maybe a developer tool that lets you create them, like a little Bric factory