Custom date range behavior: Why does my start date reset to today's date?

This is the expected behavior for a custom date range. The Start Date in a custom date range is not fixed. The End Date value of the current run will be the value of the Start Date on the next run. This is to seamlessly configure incremental loads.

If you set the ‘Last Days Back’ value, then Start Date = Start Date - Last Days Back.
This is in case you need to pull retroactive changes (further back than just the current date).

See Best Practices for Historical Backfilling and Incremental Loads for more details.