Hi @JoseSanchez ,
You can create a collaboration workspace between your ArcGIS Enterprise (guest) and ArcGIS Online (host). The host (ArcGIS Online) must grant the guest (ArcGIS Enterprise) with Send and Receive access to the collaboration workspace.
Synchronization feature layer edits two-way
Starting at 10.9, when a participant has Send and Receive access to a collaboration workspace, they can allow two-way syncing of data edits to feature layers they share as copies, allowing two-way sharing of data edits. When a scheduled synchronization occurs, edits made to the source feature layer will be shared to the receiving participant and edits made by the receiving participant will be shared to the source layer. Synchronizations are initiated by the guest on scheduled intervals. During synchronizations, content newly shared to the collaboration group, as well as the deltas for previously shared content, will be synchronized with other participants' groups.
Check this link for further details.
Regarding your second question, I would recommend that you use Branch Versioning as it can scale a lot better. You can create custom branches in ArcGIS Pro and configure your web map to point to a specific named branch if you want or you can leave it pointing to the default branch.
ArcGIS Experience Builder also has a widget for the management of branch versions:
The default branch also scales a lot better as it does not incur in internal locking. Named branches, in a long transaction model, can't be edited by multiple users at the exact same time. In a short transaction model I believe they do support now though requires testing to be sure.
The Feature Service specification includes a property "gdbVersion" that allows you to point to a named version. Otherwise defaults to SDE.DEFAULT.
A simple way to approach this is to publish the feature service and add it to a web map. Use ArcGIS Experience Builder with the widget to manage versions and leave up to the user. Just like with ArcGIS Pro, the user will create a named version, switch to the version and do their edits. Alternatively, if you haven't protected your default version, the user can edit the layer as usual. In this case, changes would be introduced to the default version of the database.
It all depends on your use case.
Thanks,
Jose