Never mind, turns out it wasn't the overlays failing to be recognized after all, one of the overlays were simply wrong, because the base device tree had changed ("acodec" node had changed name to just "codec"). And if even just one of the user overlays was invalid, they all failed to load.
For the record, I finally found a solution.
There is already a bash script in the rock pi s distribution that changes to a unique mac address. However for whatever reason this is not set up to run on the ethernet port, only on wifi. You can fix this by opening the file /etc/udev/rules.d/05-fixMACaddress.rules , adding this line:
KERNEL=="end0", ACTION=="add" RUN+="fixEtherAddr %k 06"
(Change end0 with eth0 on ubuntu version)
PS: Even this didn't seem to work on older armbian versions like v22, but on v24 debian build it worked.