A solution to this is to set the default value using a dataset (i.e. the "get values from a query" option) instead of an expression ("specify values" option). Then the parameter is not disabled upon load and the report doesn't refresh after selecting the first parameter. I'm not sure why it works this way, but it fixed the issue for a SSRS report I was working on that had the same problem.
Example: add a "DefaultDate" dataset to your report datasets with this query, then update your parameter to use this dataset as the default value:
select defaultDate = convert(date, getdate())