QGIS version 3.24 now has the capability to extract labels for a map extent using the new "Extract labels algorithm" which may help solve your problem although I haven't tested it myself.
This explanation is taken from the changelog which can be found here:
For 3.24 we added a new tool to QGIS’ processing toolbox: “Extract
labels”. As its name hints at, this algorithm extracts label
information from a rendered map at a specific extent and scale.
Extracted label information include its position (as point
geometries), the associated layer name and feature ID, as well as
label appearance properties such as rotation, text, alignment, font
family, size, weight, etc.
The algorithm also generates a default symbol-less & labelled style
for the output layer which allows for those saved layers to be drag
and dropped into projects and have the label drawn exactly as they
If a map theme is specified when extracting labels, the exported
labels will match the visibility and symbology of that theme. If left
blank, the project’s current visible layers will be used.