Set a Dutch oven over medium-high heat and cook the ground beef for 6 to 8 minutes, breaking it apart, until no pink remains and the edges brown. Drain the grease, transfer the beef to a plate, and set aside.
Lower the heat to medium, add 1 tablespoon of butter to the same pot, and sauté the onion, carrots, and celery for 5 to 6 minutes until softened. Stir in the garlic and cook for about 1 minute until fragrant.
Add the remaining 3 tablespoons of butter and let it melt, then sprinkle the flour evenly over the vegetables. Stir constantly for 2 minutes to cook out the raw flour taste until the mixture is thick and paste-like.
Slowly pour in the beef broth while whisking to keep the roux smooth, then add the milk and whisk until even. Stir in the potatoes, Worcestershire sauce, mustard, smoked paprika, and dried parsley, then bring to a gentle simmer and reduce the heat to low.
Simmer uncovered for 15 to 18 minutes, stirring occasionally, until a potato cube slides easily off a fork with no firm center. Keep the simmer gentle rather than a hard boil to protect the dairy.
Turn off the heat completely, then stir in the heavy cream followed by the shredded cheddar and cubed Velveeta a handful at a time. Stir gently after each addition until fully melted and the broth looks glossy and smooth.
Stir the browned beef and any juices back into the pot and warm through over low heat for 2 to 3 minutes without boiling. Taste and adjust with salt and black pepper, loosening with a splash of warm broth or milk if too thick.
Ladle the chowder into bowls while hot and top each serving with crumbled bacon, diced pickles, diced tomato, green onions, extra cheese, and croutons or toasted bun pieces. Serve right away.