Is there a reason that scikit-learn only allows access to clf.coef_ with linear svms?
They simply don't exist for kernels that are not linear: The kernel SVM is solved in the dual space, so in general you only have access to the dual coefficients.
In the linear case this can be translated to primal feature space coefficients. In the general case these coefficients would have to live in the feature space spanned by the chosen kernel, which can be infinite dimensional.
I would like to calculate the primal variables w with a polynomial kernel svm, but to do this i need to compute clf.coef_ * clf.support_vectors_. Access is restricted to .coef_ on all kernel types except for linear - is there a reason for this, and is there another way to derive w in that case?