Fundamentally, you’re right - this shouldn’t be so difficult. Perhaps we should simply set the page URL parameters on all views that have the proper input defined. So for example, if you had the page mounted at /mypage/:paramName and both your primary view and a docked view defined an input named paramName, we could simply set both.
In the meantime, however, there is an easier way than passing messages, which as you surmised, is not really that safe (you can’t rely on one view loading before the other, their loading speed is relative to their complexity and is largely at the whim of the browser)
The “page” props are themselves a writable space. There’s no issue in you using that namespace for your own purposes. For example, you can do this in your main view’s startup event:
self.page.props.paramSharing = {'paramName': self.params.paramName}
And then you can simply bind something in the docked view to page.props.paramSharing.paramName
(there’s nothing special about the name “paramSharing” you can put them in whatever organization you’d prefer)