I just received an awesome solution from muzimuchi from Github.
We could use soulpos package along with \tcbox.
\documentclass{article}
\usepackage{lipsum}
\usepackage{multicol}
\usepackage{soulpos}
\usepackage{tcolorbox}
\colorlet{ul}{red}
\newtcbox{\mybox}{
on line,
arc=0pt, outer arc=0pt,
colback=ul!10!white, colframe=ul!50!black,
boxsep=0pt, left=1pt, right=1pt, top=2pt, bottom=1pt,
boxrule=0pt, bottomrule=1pt, toprule=1pt
}
\makeatletter
\newcommand\myul[1][red]{%
\UseName{str_if_eq:nnF}{#1}{red}{\colorlet{ul}{#1}}
\myul@}
\ulposdef\myul@[xoffset-start=1pt]{%
\mybox{\vphantom{AHpgjy}\rule{\ulwidth}{0pt}}}
\makeatother
\begin{document}
\begin{multicols}{2}
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua.
\newcolumn
Lorem ipsum dolor sit amet, consectetur \myul{adipiscing elit, sed do
eiusmod tempor} incididunt ut labore et dolore
\myul[green]{magna aliqua.}
\end{multicols}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc facilisis vitae massa nec cursus. Fusce faucibus gravida dolor. Cras egestas eget nulla ut consequat. Nulla eu mi at mauris feugiat ornare. Etiam a efficitur sem, et scelerisque massa. Sed ipsum justo, posuere vitae leo vitae, fermentum dictum lacus. Morbi et ipsum vel neque congue elementum. In dolor orci, hendrerit vitae sagittis sit amet, pellentesque a magna.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc facilisis vitae massa nec cursus. Fusce faucibus gravida dolor. Cras egestas eget nulla ut consequat. Nulla eu mi at mauris feugiat ornare. \myul[orange]{Etiam a efficitur sem, et scelerisque massa. Sed ipsum justo, posuere vitae leo vitae, fermentum dictum lacus.} Morbi et ipsum vel neque congue elementum. In dolor orci, hendrerit vitae sagittis sit amet, pellentesque a magna.
\end{document}
which produces:

Refer to Github at here.
tcolorbox. – Ignasi Mar 16 '23 at 08:06