As you have found, Hyper-V locks virtualization whether virtual machines are running or not (unlike VMWare and VirtualBox). As long as Hyper-V is enabled, other hypervisors cannot run, including VirtualBox (and therefore Vagrant). Disabling Hyper-V is a workaround, but if you have any software that requires Hyper-V (such as Docker for Windows) then that option is not very good.
What I recommend in that case is nested virtualization. Create a virtual machine in Hyper-V that runs whatever OS you want – and then install Vagrant on that! By default, hypervisors do not expose the VT-x extensions to virtual machines, which prevents nesting – VirtualBox will say that the virtual machine is not capable of virtualization. However, VT-x is pretty easy to enable. With the virtual machine powered down, run the following PowerShell command:
Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true
After that command is run, the virtual machine will have VT-x enabled and you can install VirtualBox and Vagrant on it normally. As for your guest VM, there is no problem running Vagrant on an Ubuntu virtual machine.
Keep in mind that Vagrant will use VirtualBox to create virtual machines from your VM’s RAM. So if you want your Vagrant VM to have 4-GB RAM, make sure your Ubuntu VM has 5-GB or so.