En una olla mediana, calienta 2 cucharadas de aceite de oliva a fuego medio-alto. Agrega el arroz y sofríelo por unos 2-3 minutos. Agrega el achiote y revuelve para cubrir el arroz.
Agrega la 1½ taza de caldo y la ½ taza de leche de coco, el tallo de cebolla larga, el diente de ajo, y sazona con sal al gusto. Deja que hierva. Tapa la olla, reduce el calor a bajo, y cocina por 20 minutos o hasta que el arroz esté listo. Retira la cebolla larga y el diente de ajo, y esponja el arroz con un tenedor. Colócalo aparte.
Para hacer el hogao, calienta 2 cucharadas de aceite de oliva en una sartén grande a fuego medio. Agrega la cebolla blanca o amarilla picada y sofríela por 3 minutos o hasta que ablande. Agrega la cebolla larga picada y el ajo picado y cocina por 1 minuto más. Agrega el tomate picado y cocina por 5 minutos o hasta que ablande. Agrega el achiote, sazona con sal y pimienta al gusto, y revuelve bien.
Agrega la ½ taza de caldo y la ½ taza de leche de coco, junto con el manojo de cilantro y la ralladura de limón. Revuelve y cocina a fuego lento por 5 minutos.
Retira el cilantro y agrega los camarones crudos. Cocínalos por unos 3 minutos o hasta que se pongan rosados. Agrega las arvejas, el cilantro picado, y el jugo de limón. Sazona con más sal y pimienta si es necesario.
Por último, agrega el arroz y revuelve de forma envolvente para mezclar bien todos los ingredientes. Sírvelo de inmediato.