There is no way to change the scope for elements inside a cluster. You can only hide them on the front panel.
Your solution to unbundle the private cluster and bundle the public cluster is the best way to hide internal complexity.
If you just want to omit certain parameters without explicitly unbundling/bundling, you could also serialize to and from JSON. Of course, this comes at a performance cost.
Note, however, that this only works if the element names are exactly the same.
Here is an example using JSONtext
Convert Clusters using JSONtext.vi