BUG: Bug fix for implicit upcast to float64 for large series (more than 1000000 rows)
## PR Requirements
- [x] closes #61951
- [x] [Tests added and passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#writing-tests) if fixing a bug or adding a new feature
- [x] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).
- [ ] Added [type annotations](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#type-hints) to new arguments/methods/functions.
- [x] Added an entry in the latest `doc/source/whatsnew/v3.0.0.rst` file if fixing a bug or adding a new feature.

## Issue Description
Performing binary operations on larger `Series` with `dtype == 'float32'` leads to unexpected upcasts to float64.
Above example prints `float32 float64`.
Using `to_numpy()` on the series before addition inhibits the implicit upcast.

## Expected Behavior
I expect above snippet to print `float32 float32`.

## Bug Fix
Changed scalar conversion logic for NumPy floating scalars to avoid automatic conversion to Python `float`. Now returns a scalar of the original NumPy dtype to preserve type and prevent unintended dtype upcasts.
pre-commit.ci autofix