You could use the update function for the frame - you've used that in the past for other projects if memory serves.
I personally identify an event that would trigger for it and use that, and only fall back to the OnUpdate frame function if there are no alternatives.
I notice you aren't using the QUEST_COMPLETE (
https://warcraft.wiki.gg/wiki/QUEST_COMPLETE) which triggers when the player presses the complete button.
There is also QUEST_TURNED_IN (
https://warcraft.wiki.gg/wiki/QUEST_TURNED_IN ) which might prove useful as well as QUEST_FINISHED (
https://warcraft.wiki.gg/wiki/QUEST_FINISHED).
Give those a go and see if they do what you need. If all else fails, you can do your updates via the OnUpdate routine as mentioned. Assuming you have a frame that handles all this stuff for you.