Brown the beef: Heat a large heavy-bottomed pot over medium-high heat. Add the ground beef and press it into an even layer. Let it cook undisturbed for 4 to 5 minutes until a deep brown crust forms. Break it up, season with salt, pepper, and smoked paprika, then transfer to a plate. Leave the drippings in the pot.
Sweat the vegetables: Reduce heat to medium. Add the butter (if using) and the diced onion, carrots, and celery. Cook, stirring occasionally, until soft and translucent, about 6 to 8 minutes. Scrape up the fond from the bottom of the pot as they cook.
Add aromatics: Stir in the garlic and tomato paste. Cook, stirring constantly, until the paste darkens to a deep rusty color and smells rich, about 2 minutes.
Build the broth: Sprinkle in the flour and cook for 1 minute. Pour in the beef broth and milk, scraping up every bit of flavor from the bottom. Bring to a gentle simmer.
Cook the macaroni: Stir in the dry elbow macaroni. Simmer, stirring occasionally, until al dente, about 8 to 10 minutes. Taste a piece a minute before the package time to avoid overcooking.
Melt the cheese: Turn the heat to low. Add the shredded cheddar and American cheese in small handfuls, stirring constantly until each addition is fully melted and smooth. Do not let the soup boil.
Finish and serve: Return the browned beef to the pot. Stir to combine. Adjust seasoning with salt and pepper. Ladle into bowls and top each with a few dill pickle slices and a sprinkle of parsley or green onions.