Just for kicks, I installed 23.05 onto an ancient Check Point U-5 (that's x86 generic). Everything works, but four out of five ports are missing from the Port status section of LuCI's Overview page. The only port shown is eth0 (which has an Intel 82562ET/EZ/GT/GZ NIC behind it). The missing ports are eth1 through eth4, all running on Intel 82574L NICs.
To repeat, everything works. eth4 is WAN, the remaining ports are bridged into a LAN, and there's a client device connected to eth3. Routing and DHCP service are provided, the device communicates upstream and downstream, just the display is out of whack...
So... how do I get all ports to display in the status section? Not sure what additional information is needed in this case, but if you have ideas, ask, and I will post it.
Here's what I noticed. The initial content of the file matched the "out-of-the-box" setup; initially, this device didn't have a driver for the Intel 82574L NICs, so I installed it via opkg. The JSON file, however, remained unchanged, hence, the problem.
I may have failed to communicate the issue, so let me try again.
After the initial installation, there is only one detectable port on the device (e100), so having a single port listed was the expected behavior. Next, I installed the driver (e1000e) for the yet-undetected second network card (actually, it's a group of four identical single-port NICs). The driver installs, the ports work, but /etc/board.json does not get updated, as it did when running 22.x releases. And that, I think, is a bug.
Also, an interesting development following the update to 23.05.2 using auc: my hand-edited /etc/board.json got rewritten, and this time, it includes two ports out of five. So I replaced it again with the hand-edited version from above, and all is right again.