order of execution of hook_node_presave and custom submit function
In the core system hook_node_presave() is only ever invoked once, from inside node_save() itself. In the context of a node add/edit form it's called by the original form submit handler, which unless you've explicitly engineered otherwise, will be run before the call to your custom submit handler.

Similar to your other question the submit handler isn't really the best place for this logic, as that code will literally only run when a form has been submitted (not when a node has been added programmatically for example).

After node_save() has saved the node data to the database, it invokes one of two other node hooks...hook_node_insert() and hook_entity_update() (obviously depending on the current operation).

One of those hooks will be called after the data has been committed to the db so will be perfect for your needs.