Problem is here: https://github.com/pandas-dev/pandas/blob/acacff35b1fe87875e2fddccbbadbc1c6834d156/pandas/core/arrays/numpy_.py#L358-L364

Since na_value is handled after the dtype conversion, calls like

arr = pd.array([pd.NA, 1], dtype="string")
arr.to_numpy(na_value=True, dtype=bool)

fail.

Comment From: Sudomarko

take