The solution worked fine for when the form is used in the frontend but in the CPT edit screen it still clears the title when I update. I've created the text field with id post_title and when I let it remain visible I can see that it doesn't populate in the backend dashboard and I'm assuming that's why it clears the title on update.
I think from the other topic that I need to have the attribute post_id='current' but as the Dashboard isn't using the shortcode for display I'm not sure how to apply this (assuming that will work in the Dashboard as well).
The custom field with the ID post_title only works on the frontend (just a trick). On the backend, WordPress has the main field (pre-built) post_title so it does not show the custom field with the same ID.