The issue with what you are attempting are all driver related. when windows is installed it installs the drivers for the detected hardware, vvirtualization solutions emulate fake hardware which confuses windows.
When you install physically it configures itself for the physical hardware, then when you boot into a VM tha hardware changes and the OS gets confused. The same is true for install via VM then running it physically. If windows was a more robust operating system and can handle hardware and driver changes on the fly during boot then your goal could be obtained, but at this point it is not possible.
Have you tried to do the same with virtualbox running in windows while using fedora as a virtual or physical installation?