That’s because the fields weren’t set then. Note: The »Autosave« process/request also doesn’t save them.
Use the values from $_POST
instead for your "new_to_publish"
action.
EDIT: Do NOT forget to escape and properly sanitize input data! Else you will open a security hole.