If a TMS workflow does not have an Approval stage and goes straight to Translation does the status properly get updated?

Get Project returns the status of a TMS project and its files/tasks. However, what we are noticing is that when the workflow in TMS goes directly from Pre-processing to Translation, the API will always report back "Status": 2 (2 = InProgress) for all files and the project regardless of whether we terminated one file or another is at TCR (Translated Content Retrieval

https://languagecloud.sdl.com/managed-translation/api#operation/Projects_GetProject

Is there something wrong with the way we are interpreting status or is the API simply not reporting back the correct status? How do SDL TMS workflow stages map back to the Language Cloud API status? And what is a realistic expectation here since we are depending on this status to determine if a file is ready for download or has been terminated (Canceled) in TMS so we can remove it from the list of files/projects to query for.

0 = Preparing, 1 = ForApproval, 2 = InProgress, 3 = ForDownload, 4 = Completed, 5 = PartialDownload, 6 = InReview, 7 = Reviewed, 8 = InSignOff, 9 = SignedOff, 10 = ForVendorSelection, 11 = Cancelled

Also, note that the PercentComplete value does not seem to ever get updated either but maybe that is related to the issue above. As a quick aside question, does PercentComplete get updated if a file is Terminated/Canceled?

"PercentComplete": 0