This isn’t really an answer to the question. It’d be great for something like this to be posted as a comment instead of an answer so people who may be interested in this question know that it hasn’t been resolved.
For now, we are using a workaround with Blueprints and Child Actor Components. It’s not pretty but it works for our current purposes.