Note that you can also specify the value as
dispatch.ttl = 7p - this means "save 7 versions of the saved search".
You can then use old searches with, for example
| loadjob savedsearch="x:y:z" artifact_offset=3
Yes, the TTL setting for the alert overrides the setting in savedsearches.conf, but you should set the TTL in both places. The TTL in alert_actions.conf only applies if an alert is triggered, otherwise the TTL in savedsearches.conf applies.
In both places, you can use the p notation or just the number of seconds to save.
There are also settings for TTL in limits.conf, but those only apply to ad hoc searches.