Bring a large pot of lightly salted water to a boil, add macaroni and cook for 8 minutes (noodles will still be slightly hard). Drain noodles and transfer to a large bowl with 1/4 cup of butter and toss to coat. Whisk together the sour cream, egg, and cream cheese; add to the pasta and mix well. Stir in 3 cups of grated Asiago and 3 cups of grated Cheddar cheese, reserving the remaining 2 cups of cheese for the topping. Place the bacon in a large, deep skillet, and cook over medium-high heat, turning occasionally, until evenly browned, about 10 minutes. Drain the bacon slices on a paper towel-lined plate and chop into small pieces. Preheat an oven to 400 degrees F (200 degrees C). Stir 2 tablespoons butter, the onion, and garlic into the bacon drippings in the pan and cook and stir for 2 minutes. Reduce the heat to medium-low, and add the brown sugar. Cook, stirring occasionally, for 10 to 15 minutes until the onions are very soft and golden brown. Mix the cooked bacon, parsley, and panko breadcrumbs into the onions, transfer mixture to a small bowl and set aside. Return the skillet to the heat and melt remaining 2 tablespoons butter over medium-low heat. Whisk in the flour, and stir until the mixture becomes paste-like and light golden brown, about 5 minutes. Gradually whisk the milk into the flour mixture and bring to a simmer over medium heat. Cook and stir until the mixture is smooth and thickened. Stir in the ground mustard, paprika, salt, pepper, and hot sauce. Remove sauce from heat and let cool for five minutes. Pour the sauce over the macaroni mixture, stirring well. Transfer to a greased 9x13 inch pan and sprinkle with the remaining 2 cups of Cheddar cheese. Top cheese with the onion breadcrumb mixture. Bake in preheated oven until bubbling, hot and golden brown on top, about 30 minutes.