I think your intial idea can work just fine if you let any changes also update the DraftSaved boolean to false.
Hi, I would suggest, Create another date time attribute (draft date time) and update when saved as draft and when user made more changes and didn't saved and you would like to show a message if he really want to exit or cancel without saving, then compare the last drafted date time with last updated record date time and show a message to user to save changes.
There is a widget for that Bizzomate LeaveAction: https://marketplace.mendix.com/link/component/78474
You only need to test in on your current Mendix version.
FYI: The community commons also deliver what is needed. :-)