Looks like a driver issue.
First check if your dongle supports "full" monitor mode here:
https://wireless.wiki.kernel.org/en/users/drivers
or here:
https://wikidevi.com/wiki/Main_Page
Check dmesg if there are errors. Should look like this if everything is fine after plugin the dongle:
279065.696320] ieee80211 phy24: rt2x00_set_rt: Info - RT chipset 3070, rev 0201 detected
[279065.751395] ieee80211 phy24: rt2x00_set_rf: Info - RF chipset 0005 detected
[279065.752469] ieee80211 phy24: Selected rate control algorithm 'minstrel_ht'
[279065.789031] rt2800usb 1-1:1.0 wlp0s20f0u1: renamed from wlan0
[279065.817967] IPv6: ADDRCONF(NETDEV_UP): wlp0s20f0u1: link is not ready
[279065.818011] ieee80211 phy24: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'
[279065.818048] ieee80211 phy24: rt2x00lib_request_firmware: Info - Firmware detected - version: 0.36
You can run hcxdumptool with -C option to see on which channel the driver crashed.
If hcxdumptool runs without a crash, it could be a libpcap issue (wlandump-ng use libpcap, hcxdumptool not).
You can run wireshark parallel to wlandump-ng/hcxdumptool to monitor incomming and outgoing packets.
Right now only a few driver are working flawless! No USB AC dongle is working out of the box, yet
Here are some some additional informations:
https://docs."k*a*l*i".org/installation/troubleshooting-wireless-driver-issues
You can run aireplay-ng -9 to test if packet injection works (and how long it works)?
You can run airmon-ng check kill to check if there other processes that have access to the interface.
Do you use a hig power WiFi (1 or 2 watts) dongle (alfa awusxxxx) and does the usb connector provides sufficient power
for that dongle?