Fixed #23420 - broken warning for unbound naive datetime objects

Fixes issue with warning message displayed for unbound naive datetime objects when `USE_TZ` is True. Adds unit test that demonstrates the issue (discoverable when using a custom lookup in MySQL) and clarifies docs.

Ticket [#23420](https://code.djangoproject.com/ticket/23420)
Is this relevant to define `output_field` in that specific example ?
The default implementation of `Transform.output_field` is to fallback on the transformed field (see https://github.com/django/django/blob/65c1a37490b1e504cb69fb09731cfda85fcd6002/django/db/models/lookups.py#L68).

That is, if you define a transformation like `AbsoluteValue` that doesn't change the type of output, you don't need to override `output_field`.