My application uses Domain driven Onion architecture. It has the exact same layers as this.
However, I am a bit confused when I am setting up my IoC dependencies in my mvc app in my client layer. Should I be calling things like my repository interfaces from the client layer or should they be going through the business layer like in a typical 3-tier n-tier application? This way my client layer would only be injecting the business interfaces into it rather than both repository and business interfaces.
If I do end up changing it so the client layer only accesses the business functions I will have to do IoC on the business layer as it uses the data repositories.
Your client layer should inject instances of the repository interfaces to the business layer, so that the business layer isn't aware of any infrastructure implementation, but has instances that implement the repository interfaces, so it can call the repository through it.