K=sklearn.gaussian_process.kernels.RBF(length_scale=0.1) + sklearn.gaussian_process.kernels.RBF(length_scale=0.9)
Defines two kernels, and you will be basically using one kernel for each feature. Each kernel will basically act as an infinite degree polynomial for a dimension.
Defines one kernel that uses both features with each feature having its own length scale: 0.1 and 0.9 respectively. This kernel now not only acts as an infinite polynomial for each feature but all also includes all pairwise and higher order interactions between the features.
You want option two, that’s what people often use, for example in ML or spatial stat.
In case you wonder where those polynomials and interaction are calculated, that’s a feature of rbf kernel, there are many papers out there explaining this. Hint it’s because of exponent.