Driver script not updating mesh
Seems like driver related dependency graph issues are common and often go unanswered on StackExchange.
I figured out a workaround:

Modified the driver script to only set a boolean variable to note that a change happened. The driver script also saves what data was changed by the driver.
Added a depsgraph_update_post handler script that does the actual mesh changes (see sample code above).

This approach fixed the problem as it appears that mesh changes made in the update_post of the dependency graph gets updated properly in the 3D view.
Takeaway: Don't modify meshes directly in a driver script because the dependency graph doesn't update it properly until after edit mode.