This seems to be a long known issue, which has been already recently (Python 3.13.1) fixed:
Arguments with the value identical to the default value (e.g. booleans, small integers, empty or 1-character strings) are no longer considered "not present".