I have several TP-Link and other ar71xx devices which I have swapped to larger flash and RAM chips. These were working with release ar71xx builds due to its use of mktplinkparts.c which dynamically partitions the flash.
Going to ath79 breaks this though, since the flash size and partitioning is now hard-coded in the .dts file.
What I would like to have is some way for me to place the .dts data of my Frankenstein hardware somewhere permanently in flash and then have a release build of OpenWrt able to find it, so a simple sysupgrade to a released build will run properly.
In ARM devices the bootloader sends the kernel a pointer to the .dtb block. This of course requires the bootloader to have some support of the .dtb system. I could probably add that to the pepe2k custom bootloaders.
Another approach could be to place the .dtb in a known location in flash, like unused space of the ART partition. After bringing up the flash driver and establishing chip size (since the ART is always the last block in the chip), the kernel could find it directly.
I don't yet know my way around the OpenWrt source code to decide how practical either of these would be. It appears that all the ath79 builds use an appended dtb now, so they are model specific firmwares.