Help - Why are Motioneye cameras slow when viewing remotely?

I have homeassistant hosted on my local computer (10.0.0.1) when I go to motioneye, I see a 4k 30fps video stream, Life is good. I have also set up port forwarding on my router, so that any traffic to my public ip, on port 80 or 443 will point to my computer hosting homeassistant. The problem is, when I visit this homeassistant by typing in it’s public Ip, or typing in the domain associated with it, I get roughly 5fps video. I have fiber internet coming into my router (a callix 844G) and all connections are wired. I have 50mbps upload and download when I do a speed test, and if I calculate how much bandwith the stream is taking, it is only 10mbps. So what can I do to increase the fps?

My router supports DMZ hosting, Upnp, and port forwarding, which is the fastest method of hosting?

I think my router is capable of processing this much traffic, as everything works fine when I am on my network and visit my private ip, but the only things I can think of are:

a) slow because wrong way of hosting? 

b) slow because router doesn't have enough processing power or can't convert cat6 data to fiber fast enough?

c) slow because 50mbps up/down isn't enough, or ISP is somehow throttling speed?

As you can tell, im a newbie, so any advice on what might be going on, or steps I could take to measure what the problem is would be great!

did you find out how to fix this, I have the same problem!