Bring a large pot of water to a boil and add 2 tbsp. lemon juice and artichoke hearts; cook, stirring occasionally, until just tender, about 12 minutes. Using a slotted spoon, transfer artichoke hearts to a bowl; cover with aluminum foil, set aside, and keep warm.
Cream the spinach: Return pot of water to a boil and add spinach; cook, stirring occasionally, until spinach is tender, 3-4 minutes. Drain spinach and transfer to the center of a tea towel. Fold up the edges of the towel and squeeze to expel as much liquid as possible. Transfer spinach to a cutting board, roughly chop, and set aside. Heat 3 tbsp. butter in a 4-qt. saucepan over medium heat and add onions; cook, stirring often, until soft, 4-5 minutes. Whisk in flour and cook for 1 minute. Add milk and bring to a boil; cook, stirring, until thickened, 1 minute. Stir in reserved spinach and cream and cook until hot, 3-4 minutes. Remove pan from heat and season with salt and pepper; set aside and keep warm.
Make hollandaise: Combine remaining lemon juice, butter, egg yolks, vinegar, and cayenne in a medium bowl set over a pan of simmering water; cook, whisking constantly, until sauce triples in volume, about 5 minutes. Meanwhile, heat 2 cups clarified butter in a small saucepan over medium heat. Whisking constantly, slowly drizzle warmed clarified butter in a thin stream into yolk mixture until sauce is smooth; set aside and keep warm.
To serve, heat remaining clarified butter in a 10" skillet over medium heat and add crabmeat; cook, stirring gently, until crabmeat is heated through, about 3 minutes. Remove from heat. Divide creamed spinach between 6 serving plates and top each with 2 artichoke hearts. Top each artichoke with some of the crab mixture and a generous spoonful of hollandaise. Serve immediately.