BayesianRidge prediction standard deviation affected by uniform sample weights

### Describe the bug

The standard deviation of predictions obtained by setting return_std=True on predict(), is clearly affected by uniform sample_weight vectors on fit(). A uniform sample_weight vector will act as a constant on the likelihood function, and I am therefore questioning the effect it has on the standard deviation of predictions. As shown below by the example, the scale (1 vs. 20) of the uniform sample_weight vector directly affects the scale of the standard deviations. The example is based on the Curve Fitting with Bayesian Ridge Regression [example](https://scikit-learn.org/stable/auto_examples/linear_model/plot_bayesian_ridge_curvefit.html#sphx-glr-auto-examples-linear-model-plot-bayesian-ridge-curvefit-py)).

### Steps/Code to Reproduce

```
import numpy as np
from sklearn.linear_model import BayesianRidge
import matplotlib.pyplot as plt

def func(x):
    return np.sin(2 * np.pi * x)

size = 25
rng = np.random.RandomState(1234)
x_train = rng.uniform(0.0, 1.0, size)
y_train = func(x_train) + rng.normal(scale=0.1, size=size)
x_test = np.linspace(0.0, 1.0, 100)

n_order = 3
X_train = np.vander(x_train, n_order + 1, increasing=True)
X_test = np.vander(x_test, n_order + 1, increasing=True)
reg = BayesianRidge(tol=1e-6, fit_intercept=False)

init = [1.0, 1e-3]
reg.set_params(alpha_init=init[0], lambda_init=init[1])

fig, axes = plt.subplots(1, 2, figsize=(8, 4))
for i, ax in enumerate(axes):
    if i == 0:
        reg.fit(X_train, y_train, sample_weight=np.ones(size))
        ymean, ystd = reg.predict(X_test, return_std=True)

        ax.plot(x_test, func(x_test), color="blue", label="sin($2\\pi x$)")
        ax.scatter(x_train, y_train, s=50, alpha=0.5, label="observation")
        ax.plot(x_test, ymean, color="red", label="predict mean")
        ax.fill_between(x_test, ymean - ystd, ymean + ystd, color="pink", alpha=0.5, label="predict std")
        ax.set_title('sample_weight=np.ones(size)')
        ax.set_ylim(-1.6, 1.6)
        ax.legend()
    elif i == 1:
        reg.fit(X_train, y_train, sample_weight=20*np.ones(size))
        ymean, ystd = reg.predict(X_test, return_std=True)

        ax.plot(x_test, func(x_test), color="blue", label="sin($2\\pi x$)")
        ax.scatter(x_train, y_train, s=50, alpha=0.5, label="observation")
        ax.plot(x_test, ymean, color="red", label="predict mean")
        ax.fill_between(x_test, ymean - ystd, ymean + ystd, color="pink", alpha=0.5, label="predict std")
        ax.set_title('sample_weight=20 * np.ones(size)')
        ax.set_ylim(-1.6, 1.6)
        ax.legend()

plt.tight_layout()
plt.show()
```



### Expected Results


![expected](https://user-images.githubusercontent.com/42994401/187893778-bd076956-dd22-4b53-90ea-faec7c27c98f.png)



### Actual Results


![actual](https://user-images.githubusercontent.com/42994401/187893819-3654f021-67db-4703-a2b2-cad2ae87071d.png)



### Versions

```shell
System:
    python: 3.8.5 (default, Sep  3 2020, 21:29:08) [MSC v.1916 64 bit (AMD64)]
executable: C:\Users\AAA\anaconda3\python.exe
   machine: Windows-10-10.0.19041-SP0

Python dependencies:
          pip: 20.2.4
   setuptools: 50.3.1.post20201107
      sklearn: 0.24.0
        numpy: 1.22.4
        scipy: 1.5.2
       Cython: 0.29.21
       pandas: 1.1.3
   matplotlib: 3.3.2
       joblib: 0.17.0
threadpoolctl: 2.1.0

Built with OpenMP: True
```

COMMENT:
Hello, picking this up!

Labels: Bug, module:linear_model, Needs Investigation