With higher resolutions it gets definitely sharper. But since resolution isn't the only factor, is there a way to get sharper outputs at 1024x1024 already?
Well, it depends on what you define as "sharp". The problem is that the level of detail decreases fast the smaller that "thing" is within the image because of the way Stable Diffusion works. It's really made to create well defined shapes around the size of the original render scale (512x512 px), and anything smaller than around 64x64 px is basically just "random brushstrokes to fake detail", so as the subject becomes smaller within this frame, the more SD starts "guessing" what its shape should be.
Upscalling and re-rendering through img2img is a hack to get SD to make subjects take more than that low limit. What you can do however is use tricks like inpainting at full resolution for things like faces, which in ComfyUI one can more easily accomplish with the FaceDetailer plugin, to re-render just that part at a higher resolution, increasing detail.
For example, on the image I posted above, that's the result of two-upscale steps. I initially render a first version at ~512 px² (just make one of the axis bigger depending on whether I want a landscape or portrait picture; in this case it was 512x640 px I believe), the upscale that 2x so it becomes about ~1024 px², then send it to FaceDetailer to make the face more faithful to my subject, and then finally run another 2x upscale to about ~2048 px². This final result is what I posted above.
Below you can see the result of the first upscale and the one post FaceDetailer. Sorry I didn't save the original render, and I don't have the original checkpoint used anymore. I'd say they have decent amount of detail, but not enough for my standards, which is why I upscale them once more even when I post them on something like Instagram, where resolution-wise the one below would be enough.
Upscaled to ~1024 px:
FaceDetailer: