Coat the bottom of a large pot with the oil and place it over medium heat. Add the onion and cook it for about 5 minutes, until it begins to soften, stirring occasionally.
Stir in the garlic, ginger, serrano pepper, ground cumin, cumin seeds, ground coriander, turmeric, and cinnamon. Cook the mixture for about 1 minute, stirring constantly, until it becomes very fragrant.
Stir in the water, red lentils, and squash. Raise the heat and bring the liquid to a boil, then reduce it to a simmer. Give the mixture a good stir, then cover the pot. Let it simmer for about 20 minutes, until the lentils and squash are tender. Uncover the pot every few minutes to stir the mixture as it simmers.
Remove the lid from the pot and stir in the tomatoes, coconut milk, and salt. Let the mixture simmer for about 10 to 15 minutes more, until the mixture has thickened and is very creamy. You can add water if it gets too thick at any point.
Take the pot off of heat, then stir in the lemon juice, garam masala, and black pepper. Season with additional salt to taste, if desired.
Serve with rice and a sprinkle of fresh cilantro.