Actually, I am not sure if you can install it via LuCI nicely.
Much easier from SSH console.
I just test with the new 21.02 build and changing to the mainline ath10k works nicely. (I naturally first copied the ath10k .ipk to /tmp with scp)
OpenWrt 21.02-SNAPSHOT, r16015-beab1bf163
-----------------------------------------------------
root@router1:~# opkg update
Downloading https://downloads.openwrt.org/releases/21.02-SNAPSHOT/targets/ipq806x/generic/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_core
Downloading https://downloads.openwrt.org/releases/21.02-SNAPSHOT/targets/ipq806x/generic/packages/Packages.sig
...
Signature check passed.
root@router1:~# ls /tmp/ath10k*
/tmp/ath10k-mainline-owrt2102-r16015-beab1bf163-20210417-1641.ipk
root@router1:~# opkg list-installed | grep ath10k
ath10k-board-qca9984 - 20201118-3
ath10k-firmware-qca9984-ct - 2020-11-08-1
kmod-ath10k-ct - 5.4.111+2021-01-11-9fe1df7d-2
root@router1:~# opkg remove kmod-ath10k-ct
Removing package kmod-ath10k-ct from root...
root@router1:~# opkg remove ath10k-firmware-qca9984-ct
Removing package ath10k-firmware-qca9984-ct from root...
root@router1:~# opkg install ath10k-firmware-qca9984
Installing ath10k-firmware-qca9984 (20201118-3) to root...
Downloading https://downloads.openwrt.org/releases/21.02-SNAPSHOT/packages/arm_cortex-a15_neon-vfpv4/base/ath10k-firmware-qca9984_20201118-3_arm_cortex-a15_neon-vfpv4.ipk
Configuring ath10k-firmware-qca9984.
root@router1:~# opkg install /tmp/ath10k-mainline-owrt2102-r16015-beab1bf163-20210417-1641.ipk
Installing kmod-ath10k (5.4.111+5.10.16-1-1) to root...
Configuring kmod-ath10k.
root@router1:~# opkg list-installed | grep ath10
ath10k-board-qca9984 - 20201118-3
ath10k-firmware-qca9984 - 20201118-3
kmod-ath10k - 5.4.111+5.10.16-1-1