Place butternut squash and cauliflower in a pot and add enough water to cover the vegetables. Cover and bring to a boil, then reduce the heat to medium-low, and simmer about 15 to 20 minutes until tender, but not mushy. Drain. (You can do this step at the same time you are cooking the potatoes.)
In a large, deep skillet on the stove, heat the oil over medium heat. Add the onion and sauté until translucent, about 4 to 5 minutes.
Add the garlic, tomato paste, vegan worcestershire sauce, tamari, thyme, salt and pepper. Stir to combine and cook another 2 to 3 minutes until fragrant.
Add the flour and whisk to combine with the vegetables. Slowly add the vegetable broth while whisking continuously to prevent clumping.
Add the cooked lentils and squash/cauliflower mixture and stir to combine. Simmer for 5 to 10 minutes until the mixture is thick and bubbly.
Pour the lentil filling into a 2.5 quart casserole dish and spread evenly. Dollop the mashed potatoes (see below) over the top and gently spread until even. Be careful not to press down too hard or the potatoes will end up in the filling instead of on top of it. (Alternately, you could let the filling cool first before adding the potatoes to the top, but I'm never that patient.)
Bake for 20 minutes until hot and bubbly. Then place under the broiler for 1 to 2 minutes until the top is browned and golden.