Step 1. Create a grid with the "Create grid" geoalgorithm

Step 2. Use the "Geometry by expression" from the Processing Toolbox (Ctrl+Alt+T).
With the following expression:
make_regular_polygon(
centroid($geometry),
end_point(
line_substring(
make_line(
point_on_surface(
boundary($geometry)
),
centroid($geometry)
),
0,
0.25 -- specify a step here
)
),
6,
0
)
and get the output:

In case if more hexagons are required apply the following expression:
collect_geometries(
array_foreach(
generate_series(
0,
distance(centroid($geometry), point_on_surface(boundary($geometry))),
0.25 -- specify a step here
),
make_regular_polygon(
centroid($geometry),
end_point(
line_substring(
make_line(
point_on_surface(
boundary($geometry)
),
centroid($geometry)
),
0,
@element
)
),
6,
0
)
)
)
and get a corresponding answer:

Keep in mind that each output feature is a MultiPolygon, so the application of the "Multipart to singleparts" tool can be useful.

References: