If you want to avoid creating a result source every time you need a new sort criterion, here's the key:
SharePoint uses the following priority when deciding how to sort:
- Query rules
- Result source configuration (your solution above)
- Available sorts in the web part (This is the JSON sorting in the web part's Settings)
- Sorting order set on the query builder (what you tried to do originally)
So SharePoint looks at the JSON sorting first, and will ignore the sort you specify in the query builder if it sees any sorting criteria in the JSON code. Expand the Settings in your Search Result web part, click Show Sort Dropdown (just for now), and blank out everything in the JSON except for this:
[{}]
This will cause the web part to see valid JSON, but no sorts in it, so it won't interfere with what you've put into the query builder. (Note that you can't just remove all JSON code from the sort box, since hitting Apply on the web part pane will just put the default JSON right back in.) Uncheck Show Sort Dropdown again and it'll keep the JSON but hide the dropdown.
Hope this helps!