It's not ideal. Unfortunately, it's nearly impossible to guess how Google will interpret that, and it can vary a lot with the situation. In theory, a 301+canonical could work like a chained 301-redirect. A two-link 301 chain isn't great, but it's not awful, and it will pass some link-juice. A 301+canonical is probably slightly worse, in practice, I doubt the outcome is consistent across sites.
Keep in mind, too, that a 301 lands the user on a new URL, whereas a canonical doesn't. So, this could cause more people to link to the intermediate page, bookmark it, etc. (also not ideal).
I'm curious - why can you set up a 301 to an intermediate page but no to the target page. It seems like you'd need more CMS access to do what you did then solve the original problem.