I'm honestly confused why anybody would waste their time working for free to improve an Open Core project. You're donating your labor to a private company to improve their product.
Other than that, there is no problem contributing to an open core project if it gets accepted. The community gets to benefit as well. On the other hand, a CLA in such a project is something you need to avoid by all means.
With open core, you're working for free for the benefit of the leverage of a company to better position their secret sauce. It asymmetrically benefits the company more than everybody else. I only do that when I'm getting paid to do it.
It's a reasonable position, but I can imagine open-core projects that aren't conflicted this way, and open-source projects that are.