I'm wondering if game makers create their sprites smaller than their intended in-game size in order to be more efficient or whether doing that produces unacceptable quality.
If the asset is pixel art, then yes. Save it such that one pixel of the sprite is one pixel in the image, and then scale it up in game. This is a much more memory-efficient method of storing sprite art.
If the asset is not pixel art, I generally create the source graphic at a resolution higher than I would ever expect to use (usually something like 2-4 times larger), and then save the actual asset image at whatever size is necessary. If the asset image ends up being too small, I can always save a new copy from the source image.
Example: 512x512 .psd source, 128x128 .png asset
The only time I ever save the asset at a smaller resolution than what I actually want is when I know the image is going to be blurred in the game anyway. For example: something in the background that is designed to be out of focus will be something like 64x64 scaled up to 128x128 and blurred.
It really depends on the game and its art style. Some games use simple pixel art and scale that up to the intended in-game size. Other game makers create sprites for the game's default screen resolution and only scale them up for full screen mode. Generally, it really depends on how much time can be put into creating detailed sprites and/or how important it is for the game to have high quality art.
Based on the 2d flash games I've played and seen, sprites are typically created at their intended in-game display size, though this may vary per game platform.