RE: How are actual hours calculated?
I contacted Microsoft support and no one gave a specific answer and all my tickets are kept open. So I thought of troubleshooting this my way
Below is flow given by Microsoft- Dynamics learning portal (source)

Time entry : Project Approval = 1:N
Project Approval : Journal Line = 1: N
Fact entity, I have no idea on how it is related to others and where it is used
Important points to observe:
1. When a time entry is created, no action on related entities.
2. When a time entry is submitted, 2 journal lines (un-billed sales and cost) & a project approval records are created.
3. When a time entry is approved, the journal lines from previous step are updated and 2 actual records are created.
4. Cost record from Actual entity are calculated from the journal line at the time of approval action.
5. Un-billed sales record from Actual entity are calculated from the project approval (Billable hours field) at the time of approval action.
6. So, the actual hours on project entity is calculated from actual records that are created during approval action, technically from journal lines
During Approval action I think the calculation logic is done inside the code and not stored in CRM. I verified this by editing the values on project approval, journal line & actual records before and after the approval action.