Use an InfoDot.
Here is one actual size, with a paragraph of text, marked with an arrow.

At the arrowtip, above the black dot.
Zooming in (almost 9000%):

Zooming in more:

Image with two InfoDots, 100% magnification.

Code
\documentclass{article}
\usepackage{fontspec}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{lipsum}
\setmainfont{Noto Serif}
\newfontface\ftsmall[Scale=0.005,Colour=blue]{Noto Serif}
\newcommand\infodota[1]{%
.\kern-1.6pt%
\begin{minipage}{0.0025\linewidth}
\baselineskip0.04pt
{\ftsmall{\tiny #1}}%
\end{minipage}}
\begin{document}
$\to$\infodota{\lipsum[5]}
\includegraphics{example-image-duck}\infodota{The quick brown fox jumps over the lazy dog.}
\end{document}
The text is findable, and copyable.
The black dot is not really needed; it's just a visual marker to help locate the text when zooming in.
Technically, the text is not hidden (the ninja text is in plain sight), and it's definitely not behind a picture, so not an answer to the question as asked.
(Z-1000 thinking - Source idea: Appearance of \tiny or \scriptsize Fontsize in LaTeX (horizontal stretch) , based on: How to get an even smaller font?)