For this: "Employee works 50 hours on job but his salary only pays 40 hours. How does that work?"
You assign the Units for how you want the Salary Split and allocated, and do Not enter this on the Paycheck. Start from the Timesheet, and set your employee Default, and each existing employee to be Paid from Time data. Now the Timesheet info will be passed to the paycheck details for you. You also need to set Preferences to Job Track per Earnings Item. That allows the Salary Item to Reiterate = shows multiple times, to split it across the Service item and the Job Names. Also, in paycheck Voucher Printing, make sure to mark you want to use Hours for Salary. This can be units. or hours.
"Since actual payroll hours are not used to create pay checks?"
Yes, they are. You get to decide the Allocation, for Salary. Example:
They worked 1/4 Admin and 3/4 one Job = 1 and 3 or 10 and 30. For your request of 50, yes, use your specific Hours as units. And it helps to put your own company as a Customer name and a Service Item for Admin Time, for their Non-job-related allocation.
Please see my attachment.