Use None to detect if truncation was unset
# What does this PR do?

This PR changes the default of the `truncation` argument to `None` so that we can detect the difference between:
- truncation was not set
- truncation was set to `False`.

As pointed out in #19790, relying on `False` to test if the argument is unset yields unexpected behaviors.

Fixes #19790