If you want one-way communication from ST to HE, the native Hub Link and Send Hub Events apps can do that for you. For something more powerful or bidirectional, there are the community Other Hub and, as mentioned above, HubConnect apps. These are more powerful (especially HubConnect) with the disadvantage being that you're not running all first-party Hubitat code, so Support may ask you to try disabling them if you run into problems and choose to contact them (though I haven't heard of any problems caused by either).
I think Hubitat has stated that they are working on OTA firmware updates capability for devices, but one issue is entirely on the manufacturer's side: whether they'd be willing to provide Hubitat with the device firmware in the first place. That being said, for Z-Wave devices, you can already update firmware with third-party utilities like I just did for my Zooz ZEN15 Double Plug this morning (if you have a manufacturer like Zooz that is nice and will provide the firmware and instructions upon request). For Zigbee, if ST has a firmware update, you can move the device between HE and ST to allow it to update (I did for my SmartThings Button where some people reported problems if they had been "dormant" for too long). If you don't delete it from HE (or ST or wherever you want to use it), your automations won't even get messed up--it will match the device up with its existing entry by the factory-set MAC (though the hub-set DNI will/may change). That being said, I'm not sure there's usually a compelling reason to do firmware updates on most Z-Wave and Zigbee devices unless there's a known problem (as there was with the Button) or issue being addressed (excessive chattiness/reporting from the ZEN15, which I hope this helps with).
It also would make a lot more sense to have Z-Wave devices on HE and not ST, then send events from HE to ST if you feel like the logic is better suited there. Anything you send from ST to HE is going to route through the ST cloud, like all custom ST code does. On HE, your automations (and manual control) could all run locally. Same for Zigbee (HE probably supports even more Zigbee devices out-of-box than ST, but in general, Z-Wave and Zigbee device compatibility should be quite similar between the two platforms).
It's mostly cloud integrations where ST/Samsung has an edge, probably by being older and bigger. This would include things like Ring, where Hubitat doesn't currently have a native integration. (I have mine integrated to ST via HubConnect.)
Again, I'm not sure OTA firmware updates are a killer feature, aside from specific instances where they may have addressed problems (in which case the ease of moving Zigbee devices between hubs makes this relatively simple, and Z-Wave is not yet supported--but I was actually able to do this on Hubitat as I described above without moving the device at all because I'm using an external Z-Wave stick).
I'm not sure I'd have such a bleak outlook on webCoRE--last I heard, its main developer (Adrian) was hired by ST. I'd be a bit more concerned with the direction they're taking for the "new" app (or really the underlying platform changes), where feature parity is still quite lacking. I don't think custom SmartApps, webCoRE included, are able to be installed at all at the moment. They way SmartApps work will change (they won't host; you'll need an AWS or similar endpoint). I'm not sure where they are at with that now. But regardless, I think you are wise to not depend on it for too much.