I've made use of /dev/kmem on UNIX systems in test programs to access external device address regions on boards developed by our hardware department. Thus I don't have to rely on same basic capacities of the board the device driver has to check.
I wanted to use that feature on Linux for some self made evaluation boards with PCIe connection before I start writing a device driver. However it seems that I cannot access device address regions that way with /dev/kmem.
In brief: I've never used /dev/kmem to r/w main memory on any OS.