OpenWRT wireless crashes randomly while in use DLINK 860L B1

Running OpenWrt 19.07.0-rc2, r10775-db8345d8e4 on my DLink 860L B1. Wireless is stong and all but all of the sudden it crashes, pretty much daily. Sometimes if it's not crashing it freezes for a good couple minutes.
e.g. I'm watching YouTube on 2.4GHz and all of the sudden the video stops loading and the app takes a long time to load anything else. If I'm switching to the other radio, 5GHz it comes back to life and also can go back to 2.4GHz and everything seems fine again. Happens when browsing, when using facebook etc. and this doesn't occur on cable LAN.
ALSO, when downloading from the play store for some reason it gets stuck at 99% download and takes like 10 minutes to finish (if it finishes), when I am using the main ONT/GPON router (HG8245H) everything is running smooth. So the problem must be with the router. On the original firmware I don't remember doing such things (haven't used stock in a long time).
Load CPU/Mem wise it's nothing significant so there cannot be a bottleneck on this part.
This behavior can be found on other wireless devices as well, not just on my phone (G955F)
What ways of debugging this issue do you recommend? I'm a noob at debugging network stuff.

For further information, after I am setting up the router as a dumb AP it's working flawless, wired/wireless, laptop or phone, everything if perfect. So there must be some kind of conflict within dnsmasq/DHCP/firewall/network configuration.

See below the DUMBify script I use.

# ========================================================
# Setup a Dumb AP, Wired backbone for OpenWRT / LEDE
# ========================================================
# Set lan logical interface as bridge (to allow bridge multiple physical interfaces)
uci set network.lan.type='bridge'
# assign WAN physical interface to LAN (will be available as an additional LAN port now)
uci set network.lan.ifname="$(uci get network.lan.ifname) $(uci get network.wan.ifname)"
uci del network.wan.ifname
# Remove wan logical interface, since we will not need it.
uci del network.wan

# Disable Dnsmasq completely (it is important to commit or discard dhcp)
uci commit dhcp; echo '' > /etc/config/dhcp
/etc/init.d/dnsmasq disable
/etc/init.d/dnsmasq stop

# Set static network configuration (sample config for
# is the Main Router
uci set network.lan.ipaddr=''
uci set network.lan.dns=''
uci set network.lan.gateway=''
uci set network.lan.netmask=''
uci set network.lan.broadcast=''

# Set DHCP on LAN (not recommended, but useful when Dumb AP is moveable from one building to another)
uci del network.lan.broadcast
uci del network.lan.dns
uci del network.lan.gateway
uci del network.lan.ipaddr
uci del network.lan.netmask
uci set network.lan.proto='dhcp'

# To identify better when connected to SSH and when seen on the network
uci set system.@system[0].hostname='DumbWRT'
uci set network.lan.hostname="`uci get system.@system[0].hostname`"

# ========================================================
# Optional, Disable IPv6
# ========================================================
uci del network.lan.ip6assign
uci set network.lan.delegate='0'
uci del dhcp.lan.dhcpv6
uci del dhcp.lan.ra
uci del dhcp.odhcpd
/etc/init.d/odhcpd disable
/etc/init.d/odhcpd stop

# ========================================================
# Commit changes, flush, and restart network
# ========================================================
# This way we will get internet on this AP and we must reconnect
uci commit
/etc/init.d/firewall disable
/etc/init.d/firewall stop
/etc/init.d/network restart
# If all is OK then reboot and test again:

# How to setup Wireless Links to avoid Wired backbone using WDS on Atheros for OpenWRT / LEDE
# How to setup Client Bridged / Client Mode / RelayD and IGMPProxy for OpenWRT / LEDE