This is a firmware issue. Earlier versions supported monitor mode, but this was eventually dropped. They can still be found at kernel.org.
You can get monitor mode to work by downgrading your firmware, using the procedure below. Be aware, though, that this will not add support to packet injection, only monitor mode.
The last commit that still supports monitor mode is from 6/22/2017. At the time of writing, the only file that has changed since is "firmware-5.bin", so you can keep the others. You need to delete file "firmware-6.bin", too, and reload the driver (via modprobe, or just reboot) before changes take effect.
Run the following from a terminal window (you may want to backup any files before replacing or deleting them):
$ git clone https://git.kernel.org/pub/scm/linux...-firmware.git/
$ cd linux-firmware/ath10k/QCA9377/hw1.0/
# Uncomment in case you want to check the logs for QCA9377
#$ git log .
# The last commit that still supports monitor mode is dd5fba3a56bbb4c4a72576faa19f8bd45fed7ef6
$ git checkout dd5fba3a56bbb4c4a72576faa19f8bd45fed7ef6
$ sudo cp firmware-5.bin /lib/firmware/ath10k/QCA9377/hw1.0/
$ sudo rm /lib/firmware/ath10k/QCA9377/hw1.0/firmware-6.bin