This is a proposal for the createPortal API to in addition to Nodes support strings for the second argument(container), which could pave a declarative way to achieve out of order server side rendering.
#createPortal(..., container: Node|String, ...)
The server could render a portals children in-place and have the client-side hydration process move it to the right location client-side using document.querySelector if the container is a string.