Probably a bit late but better than never.
You can use sfdx force:mdapi:deploy -d data/standard-object-stub/ -w 1 -u $SCRATCH_ORG_ALIAS with a package.xml that references a Case.object file with the following content in a objects subfolder before you deploy your sources
<?xml version="1.0" encoding="UTF-8"?>
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
<sharingModel>Read</sharingModel>
</CustomObject>
This will only change the sharing setting, which will take some time so you might want to delay the further steps like package installation or source push a bit.
Update 12/2019:
Within the topic of unlocked packaged (that might have managed packages with certain OWD sharing settings as a dependency) I've come across a probably interesting known issue in this field:
success.salesforce.com/issues_view?id=a1p3A000001SGtdQAG
That known issue raises hopes on better support for changing OWD sharing settings based on scratch org definition files.
Update 09/2020:
Actually that got improved recently, you can use the scratch org definition file:
{
"orgName": "Scratch Org",
"edition": "Developer",
"language":"en_US",
"features": [
"AuthorApex",
"ContactsToMultipleAccounts",
"StateAndCountryPicklist"
],
"settings": {
"accountSettings": {
"enableAccountTeams": true
}
},
"objectSettings": {
"opportunity": {
"sharingModel": "private"
},
"account": {
"sharingModel": "read"
},
"case": {
"sharingModel": "read"
},
"contact": {
"sharingModel": "private"
}
}
}