In most cases, if the VM guest shows that the Ethernet cable is disconnected, it means that in the settings for the VM the Network Adapter's virtual switch is set to "Not connected." Obviously this doesn't seem to be the case for you, but double check to be safe.
Now, to find the cause of the problem, I would make 3 networks in the Virtual Switch Manager. One private, one internal, and one external. Try connecting it to all three and see if anything changes. You should be able to do this while the VM is running.
If something changes, (e.g. You get a connected message on the internal network) remove your external network (From Hyper-V altogether), and try bridging the Network adapters (real ethernet and internal network) in the Host machine. (This may or may not work, and it may or may not be a good idea, but chances are it will give you more information for determining where exactly the problem lies.)
If nothing changes (e.g. it doesn't matter what network you connect to), try making a different VM (like some linux distro or something. Maybe Ubuntu Desktop?) and see if you get similar results. (with its network adapter connected to the private, internal, and external networks)
If you do get similar results with the linux distro, then I'd say it's safe to say it's a problem with Hyper-V and I'd try completely removing it as a feature, and re-adding it. If you do not get similar results with the linux distro (e.g. it works), then it's likely your VM itself, and I'd try removing the Hyper-V drivers and reinstalling them (Which will be a trick without internet, and would probably need it's own question)
In any case, after you've tried all this, if you're still having a problem, update your question with the new information you've gained and maybe someone else can add more.
So you have . . .
The VM Mikrotik machine configured with two NIC's with one
connected to the "internal" Hyper-V switch (inside) that has the DHCP service running on it, and the other is connected to an "external" Hyper-V switch (outside), etc.
The lUbuntu VM has one NIC and you connect that to the "internal" Hyper-V switch which has a DHCP server service listening on it from the Mikrotik machine to process requests accordingly.
Clarification Resources
1. Configuring VM Networking on a Hyper-V NAT Switch
Virtual machines that are connected to a NAT virtual switch are in an
isolated broadcast domain, a different one to the LAN. The NAT switch
does not have flat, 2-way routing to the LAN that the host is
connected to. The virtual switch is an internal virtual switch that
the host NATs to the LAN. This means that, by default, the virtual
machines can connect to the LAN, but the LAN cannot connect to the
virtual machines. And even if we do create NAT rules, the virtual
switch remains a separate broadcast domain from the LAN.
The virtual switch is somewhat isolated from the LAN, especially from broadcast-based services such as DHCP. You can deploy your own DHCP server(s) as virtual machines that are connected to the virtual switch. The scope of these servers is limited to the virtual switch, so there is no impact on the LAN, and network administrators should not have a problem with your DHCP servers being deployed on the NAT virtual switch.
Source
2. Internal Hyper-V switch configuration
Internal: Allows communication between virtual machines on the same Hyper-V server, and between the virtual machines and the
management host operating system.
Source
3. Visualization of all switch modes
Potential Workarounds
The way I've handled this is to ensure the VMs connected to the internal switch have IP addresses assigned, and then from the host Hyper-V management server, I then can access those machines from the host OS that way via their IP addresses.
You could probably look over the Set up a NAT network, and be sure to have a full understanding of it and then Create a NAT virtual network and configure it accordingly to see if it'll do what you want using the "internal" Hyper-V switch functionality.
Since the VMs can talk with the Mikrotik machine, perhaps you can setup routing in it and then tell the VMs to use it's accessible internal Hyper-V switch IP address as the default gateway on all those devices, and just let it do the routing when things need accessed that's not connected to the internal Hyper-V switch.
Check your VLAN configuration and see Configure virtual local area networks for Hyper-V in the event something at this level is needed or causing trouble.
Check any OS level firewall rules for the blocking of the traffic coming from the internal Hyper-V switch to the host Hyper-V or any of the connected VMs.
Best Answer
Some DHCP servers always assign the same IP address to the same MAC.
Since your upstream is a regular (non-WDS) Wi-Fi connection, it can only have one MAC address – not multiple. The only reason Windows even allowed you to put it into a bridge is that it performs L2 NAT (arpnat) for you, rewriting your VMs' packets on the fly.