Well, my IoT router was working just fine until I installed new firmware for my main router. For whatever reason, the new firmware is treating that special 255.255.255.252 network that we put together for 192.168.1.1 and 192.168.1.2 as a big old standard class C (255.255.255.0).
We can fix that.
On main router, add two static routes:
192.168.2.1 netmask 255.255.255.255 gateway 192.168.1.2 metric 5 if LAN 192.168.2.0 netmask 255.255.255.0 gateway 192.168.1.254 (some non-existent IP address) metric 10 if LAN
On the IoT (secondary router), also add two static routes:
192.168.1.1 netmask 255.255.255.255 gateway 192.168.2.1 metric 5 if LAN 192.168.1.0 netmask 255.255.255.0 gateway 192.168.2.254 (some non-existent IP address) metric 10 if LAN