I think the main reason is Google wants to provide a predictable environment for the developers where not too many things can be changed so it doesn’t visually break apps. Because for big corps really, really want their branding to be perfect, can’t be caught with a screenshot of their app in Comic Sans.
You used to be able to install some pretty sick theme packs but over time everyone started shipping apps with its own hardcoded themes and theme libraries such that it looks identical between devices, so now we’re stuck with whatever Google says is how it should look.
Back when I was a developer I had to turn off my theme for every demo because the clients would keep focusing on that and not their fucking app, and keep complaining it clashed so hard with their brand colors. Which I’m sure is part of why the stock theme now is so flat and neutral vs the Holo/Honeycomb days.
The key there is the switch does most of the work in hardware, so you can have 1G going between all ports with no CPU usage, so the internal 1G port doesn’t matter as much, and the hardware acceleration lets it efficiently handle routing across VLANs without involving much of the internal port. Those internal switches can usually handle VLANs and basic NAT nesrly entirely on its own.
With a single external 2.5G port you lose that because your traffic will have to go in the router and back out to the switch to cross VLANs, so it’s basically a 1.25G link. And it needs to be a managed switch too since the router doesn’t come with a built-in one anymore. Best you can do is software VLANs but the other device will need to also use the VLAN explicitly in that case, as there’s no switch to give you untagged ports.