It's not for version 1.20.4, but in version 1.18.2, I was able to achieve this using the texture atlas and TextureAtlasSprite as follows:
Rendering the fire (fire_0) texture in screen:
private void renderTexture(PoseStack poseStack, int x, int y, int width, int height){
ResourceLocation BLOCK_ATLAS = new ResourceLocation("minecraft", "textures/atlas/blocks.png");
ResourceLocation fireTexture = new ResourceLocation("minecraft", "block/fire_0");
RenderSystem.setShaderTexture(0, BLOCK_ATLAS);
TextureAtlasSprite sprite = Minecraft.getInstance().getTextureAtlas(BLOCK_ATLAS).apply(fireTexture);
GuiComponent.blit(poseStack, x, y, 0, width, height, sprite);
}
Since the specifications may have changed in version 1.20.4, I'm not sure if the same approach will work.
However, I hope this information helps as a reference.