In case it helps someone else out there, I’ve had similar trouble for the longest time of losing changes to prefabs when Unity crashes even though I’ve created them and applied changes. If you don’t use ‘File > Save Project’ regularly, all work is lost. I’ve wanted a way to auto-save prefabs when applying changes for a long time now.
This is also a problem with using version control. For instance, if you make changes, then go to check them in using Git, Perforce, etc. without using ‘File > Save Project’, your changes will only be in Unity’s memory and not saved to disk and therefore are not included in your VC commit. Later, you may be surprised to find that you still have changes to check in or worse, you have conflicts with someone else who has made changes to those files. In fact, if you commit newly created prefabs without saving the project, it will exist on the hard drive in a bad state that cannot be loaded by Unity. This could break builds for other developers.
After some trial and error, I created this editor script that will auto-save after using the ‘Apply’ button as you would expect: