I've been struggling with the same issue and just discovered this thread. I noticed that the laravel/homestead version downloaded (12.2.0) is the most recent default version with "unknown" as the architecture as per: app.vagrantup.com/laravel/boxes/homestead
I'm not sure why, but vagrant isn't specifying an architecture when searching for which image to download. Anyway, it's possible to specify the architecture when adding a box like this:
vagrant box add laravel/homestead -a amd64
or if you want a specific box version:
vagrant box add laravel/homestead --box-version 14.0.2 -a amd64
That worked for me and I could then see the downloaded vmdk file in:
C:\Users\USERNAME.vagrant.d\boxes\laravel-VAGRANTSLASH-homestead\14.0.2\amd64\virtualbox
However, when I tried to bring up that box and provision it, I then got the constraints message:
"The box you're attempting to add has no available version that matches the constraints you requested. Please double-check your settings. Also verify that if you specified version constraints, that the provider you wish to use is available for these constraints. ".
Constraints: >= 14.0.2, < 15.0.0
That made me think that vagrant is still working with "unknown" architecture and wasn't attempting to use the downloaded 14.0.2 image, so in the Vagrantfile for Homestead (the one in the same directory as my Homestead.yaml) I have added this at line 28:
config.vm.box_architecture="amd64"
I put it above the "if File.exist? homesteadYamlPath then"
I was then able to provision as normal with:
vagrant up --provision
Hope that helps