Many people get it wrong or make it more complicated than it needs to be. What you say is correct and works for nearly all situations as long as the internal pullup resistor is enabled.
See e.g. here for suggestions in a thread from someone asking the exact same question: A proper way to use a button and an LED
Easiest way is to just connect a series resistor and LED to the digital output that goes to the respective input on the ULN2003.
For what....?
But in general, you can choose and it depends on the situation & what you're doing.