The connection manager (connman) caches configurations in a structured format keyed on the connection type and MAC of the interface so ^ that's the problem. It doesn't forget.. it's just (correctly) presented with a new randomly generated MAC on each boot.
echo "options 8812au rtm_initmac=00:e0:4c:37:67:35" > /storage/.config/modprobe.d/8812au.conf
or
echo "options 8812au mac_addr=00:e0:4c:37:67:35" > /storage/.config/modprobe.d/8812au.conf
^ this is a complete guess based on 60 seconds of non-specific Googling, so I make no guarantees it will work. It is technically possible to change the MAC via ethtool commands, but really it should be done at driver load time which is what we're trying to achieve.
I don't have the code knowledge to spot if this is an issue with the driver code or not, but the lack of general comments in Google search makes me suspect it's a manufacturing issue where a blank/null MAC address is set in the device. You can argue whether that's a fault as it wouldn't cause an issue in Win/macOS, but it does here. It probably indicates a cheap device where the manufacturer hasn't been assigned unique hardware ID ranges for their devices.