The reason there's no obvious default is probably because of the differing price points and complexity of the products that are being built. e.g., from some of the products that I've worked on.
- UI/database on desktop with multiple real-time processors connected via serial/Ethernet
- UI/db on Linux SoM with embedded processor connected through serial
- UI/db on Linux SoM and the SoM has an embedded ARM processor connected via shared memory
- UI on one core of an ESP32 with real time control on a separate core. This isn't something I've done, but many 3D printers and other low-cost machines are using this architecture right now.