`LinearRegression` singular values differ from `model.singular_` if computed manually

### Describe the bug

I was looking around scipy's singular value functions and wanted to see if I can get the same singular values of a matrix X as `LinearRegression` model (`model.singular_`). I couldn't and looked at how sklearn does it

https://github.com/scikit-learn/scikit-learn/blob/e8dc918c2a9fb1abb350f7822b2c4e18d90c7a5c/sklearn/linear_model/_base.py#L702

I ran the code myself on some sample data and I get different singular values using (supposedly) the same code.

### Steps/Code to Reproduce

```python
import numpy as np
from sklearn.linear_model import LinearRegression
from scipy.linalg import lstsq, svd

X_exact = np.array([[1, 2], [2, 4], [3, 6], [4, 8]], dtype=float)
y = np.array([1, 2, 3, 4])

X_near = X_exact.astype(float)
X_near[:,1] += 1e-10

for label, X in [("Exact", X_exact), ("Near", X_near)]:
    model = LinearRegression().fit(X, y)
    U, s, Vt = svd(X, full_matrices=False)
    ### from `scikit-learn/sklearn/linear_model/_base.py`
    cond = max(X.shape) * np.finfo(X.dtype).eps
    _, _, rank_manual, singular_manual = lstsq(X, y, cond=cond)
    ### ------------------------------------------------
    
    print(f"{label}:")
    print(f"  Singular values from scipy.linalg.SVD: {s}")
    print(f"  Singular values from scipy.linalg.lstsq: {singular_manual}")
    print(f"  Singular values from model.singular_: {model.singular_}")
    print(f"  cond threshold: {cond:.2e}")
    print(f"  ratio s[0]/s[1]: {s[0]/s[1]:.2e}")
    print()
```

### Expected Results

For `model.singular_` to give the same values as 
```python
cond = max(X.shape) * np.finfo(X.dtype).eps
_, _, _, singular_manual = lstsq(X, y, cond=cond)
```

### Actual Results

```
Exact:
  Singular values from scipy.linalg.SVD: [1.22474487e+01 9.72950711e-16]
  Singular values from scipy.linalg.lstsq: [1.22474487e+01 9.72950711e-16]
  Singular values from model.singular_: [5. 0.]
  cond threshold: 8.88e-16
  ratio s[0]/s[1]: 1.26e+16

Near:
  Singular values from scipy.linalg.SVD: [1.22474487e+01 3.65144666e-11]
  Singular values from scipy.linalg.lstsq: [1.22474487e+01 3.65144666e-11]
  Singular values from model.singular_: [5. 0.]
  cond threshold: 8.88e-16
  ratio s[0]/s[1]: 3.35e+11
```

### Versions

```shell
System:
    python: 3.12.11 (main, Jun  4 2025, 08:56:18) [GCC 11.4.0]
executable: /usr/bin/python3
   machine: Linux-6.1.123+-x86_64-with-glibc2.35

Python dependencies:
      sklearn: 1.6.1
          pip: 24.1.2
   setuptools: 75.2.0
        numpy: 2.0.2
        scipy: 1.16.1
       Cython: 3.0.12
       pandas: 2.2.2
   matplotlib: 3.10.0
       joblib: 1.5.2
threadpoolctl: 3.6.0

Built with OpenMP: True

threadpoolctl info:
       user_api: blas
   internal_api: openblas
    num_threads: 2
         prefix: libscipy_openblas
       filepath: /usr/local/lib/python3.12/dist-packages/numpy.libs/libscipy_openblas64_-99b71e71.so
        version: 0.3.27
threading_layer: pthreads
   architecture: Haswell

       user_api: blas
   internal_api: openblas
    num_threads: 2
         prefix: libscipy_openblas
       filepath: /usr/local/lib/python3.12/dist-packages/scipy.libs/libscipy_openblas-68440149.so
        version: 0.3.28
threading_layer: pthreads
   architecture: Haswell

       user_api: openmp
   internal_api: openmp
    num_threads: 2
         prefix: libgomp
       filepath: /usr/local/lib/python3.12/dist-packages/scikit_learn.libs/libgomp-a34b3233.so.1.0.0
        version: None
```

COMMENT:
there is `scikit-learn/sklearn/linear_model/_base.py._preprocess_data` which is the reason why...

Labels: Bug, Needs Triage