I can't speak for Dahua's reasons, but it is not easy doing low-latency video playback in web browsers.
There are several options for how it can be done (this is going to get pretty technical):
1) HTML5 video. The problem with this is it was not designed for low latency. You can achieve low latency in Chrome, Opera, Brave, the latest version of Edge, and in other browsers based on Chromium. But in older Edge, Internet Explorer, and Firefox, you can't get low latency via HTML5. In those browsers there is a minimum of a couple seconds of delay which is not good for IP cams and NVRs. Also, most browsers only support H.264 video this way, not H.265.
2) WebRTC. This is a technology designed for web browsers to make video calls. It supports low-latency H.264 video (again, not H.265). And it is extremely complex to implement. Between the complexity and the lack of H.265 support, this is not well-suited to IP cams and NVRs.
3) Streaming the video data via web socket or "fetch stream" and decoding the video in JavaScript code. Or, more accurately, C or C++ code that was compiled to run in a browser using emscripten or webassembly. It lets them support any video codec with low latency in all modern web browsers. Unfortunately it is the least efficient way to decode video because they can't optimize the code very well and they can't use hardware acceleration. So it can lead to performance problems especially for mobile devices, and even for fast desktops when you are trying to do 4K at 30 FPS or something.
I am pretty sure that option #3 is what Dahua has been using in some of their newest cameras on recent firmware. I don't know if this has been used in their NVRs yet.