Mirando el SOC de los microprocesadores y microcontroladores, creo que no hay diferencia entre los dos, ya que ambos pueden reemplazarse entre sí. ¿Es correcto este entendimiento?

No , son diferentes.

Microprocesador: la unidad de procesamiento principal realiza los comandos informáticos. (contiene ALU – MMU – Controladores de bus … etc.)

Microcontrolador: Microprocesador + Periféricos (módulos pequeños) —-> como: (ADC, SPI, I2C,… .etc)

Sistema en chip (Soc): Microcontrolador (o más) + muchos subsistemas —-> como: (BLE, WiFi, módulo de audio, DSP, GPU … etc.)

Por lo tanto, SoC implementa principalmente subsistemas complicados y los integra a nivel de silicio.

Que puede contener una arquitectura de sistema heterogénea que combina muchos tipos de microcontroladores y DSP y subsistemas complicados que implementan protocolos de comunicación complicados o realizan procesamiento de audio o video dedicado.

Por lo tanto, dependiendo de la aplicación, si el sistema implementado es complicado para reducir la complejidad de la PCB, generalmente se usa SoC para ahorrar espacio y energía. Si bien el sistema está realizando tareas sencillas, el microcontrolador es mejor, ya que es más barato y más fácil de interconectar.

Ya hay algunas buenas respuestas aquí, pero en teoría podría usar un microprocesador para realizar tareas de microcontrolador. Por ejemplo, una frambuesa pi que se comunica con dispositivos esclavos a través de spi o i2c a expensas de la latencia (asumiendo su linux).

Los microprocesadores que ejecutan la mayoría de los sistemas operativos que no son convencionales como Linux o Windows también tienen una unidad de gestión de memoria o mmu que es diferente a los controladores.

Reemplazar entre sí significa qué?
No.
Ambos tienen una funcionalidad diferente. Están hechos para su propia necesidad.