Looking at GCC's implementation of std::stof they throw this error if the float is smaller than FLT_MIN, not FLT_TRUE_MIN.
std::stof
FLT_MIN
FLT_TRUE_MIN
The reason for this is probably because FLT_TRUE_MIN was introduced in C++17, while std::stof in C++11.