Component's image not returned in single request

System Information
  • Strapi Version: 4.9.2
  • Operating System: macos
  • Database: mysql
  • Node Version: 16
  • PNPM Version: 8

I have the following single content type:

When I do the following query: /api/approach-page?populate=* I don’t receive any information related with the Icon that is within the Step component:

{
  "data": {
    "id": 1,
    "attributes": {
      "intro": "Intro placeholder...",
      "createdAt": "2023-04-24T14:18:37.657Z",
      "updatedAt": "2023-04-24T15:01:11.539Z",
      "publishedAt": "2023-04-24T14:18:40.195Z",
      "steps": [
        { "id": 6, "title": "first", "content": "Something" },
        { "id": 8, "title": "second", "content": "Else" }
      ]
    }
  },
  "meta": {}
}

I tried a few variations of the populate syntax but still without success. Is this a legit bug or am I missing anything?

I tried to create my controller:

export default factories.createCoreController(
  "api::approach-page.approach-page",
  ({ strapi }) => ({
    async find(ctx) {
      const { query } = ctx;

      const entity = await strapi.entityService.findMany(
        "api::approach-page.approach-page",
        {
          ...query,
          populate: {
            steps: {
              populate: {
                icon: true,
              },
            },
          },
        }
      );

      // const sanitizedEntity = await this.sanitizeOutput(entity, ctx);

      return this.transformResponse(entity);
    },
  })
);

Only if I comment the sanitizeOutput I get the icons loaded. But that doesnt feel safe. How should I proceed?