Maybe not a solution, but a little more info to why this is occurring. Regardless of Task Type (Fixed Duration, Fixed Work, Fixed Units), when you create a task the task will calculate Duration against the Working Time Calendar (or resource or task calendar!). It will then exclude non working days from the working days just like it does for weekends (ie your 10 Day task actually runs for 14 or 12 elapsed days depending on whether it crosses one or two weekends). The easiest way to update the task to achieve what you have asked would be to
1) Set the Task Type to Fixed work
2) Move the task to when the task needs to occur and if you need to, change the Duration
Project will then (by default) update the effort per day pro-rata to allow the work to be done in a shorter time period. The dispropotionate split of hours in a task may be because the task has some actuals assigned to it (ie if you mark a task 9 day 50% complete then change it to a 10 day task it would only reduce the work required per day to days where work has not been done.
Hope this helps.