After further testing, it appears still to be working... so I went source diving and found mainly the problem is in the /lib/wifi/ralink.sh -- it seems intentionally or by bug to lookup the apcli0 channel and overwrite whatever you put in wireless.ra0.channel -- or possibly looks up the channel of the AP the client connects to and overwrites the AP channel with that (for whatever reason).
But the client works fine on channel 0 iff you set only the ra0 channel to 0.
So I made a new setting and kludged it in rudely just above the part where it sets the channel for the ra0 dev with iwpriv.
Note that applying this patch, while allowing uci set wireless.ra0.ra0_only_channel 0, will also prevent opkg from being able to update the ralink-wifi-mt76x8 package; possibly leaving you with no ralink drivers installed. Be sure to copy the ipk to /root/ if you plan to use this patch so you can rescue the system over serial... or just factory reset or whatever, that seems pretty painless.
--- ralink.sh-orig 2017-02-14 17:43:04.885469047 -0500
+++ ralink.sh-mine 2017-02-14 17:50:07.826365772 -0500
@@ -598,8 +598,15 @@
set_wifi_up "$vif" "$ifname"
done
-
- [ "$channel" != "auto" ] && iwpriv $device set Channel=$channel
+
+ # I made a slightly difference settings space so I could have a
+ # different channel for each device.
+ #
+ # use uci set wireless.ra0.ra0_only_channel 0 to disable AP
+
+ config_get ${device}_only_channel $device mah_only_channel $channel
+
+ [ "$channel" != "auto" ] && iwpriv $device set Channel=$mah_only_channel
iwpriv $device set MaxStaNum=$maxassoc
}