"Der Umstieg auf XeLaTeX ist übrigens keine Option."
So wie ich es sehe geht es darum, Sinhala zu erhalten, vermittelst der internen Ansteuerungsbefehle des sinhala-Paketes, z.B. `{\SHa\char213a}`; nicht etwa durch Unicodenummern, wie z.B. `\symbol{3461}`. `\mysinhalafont\symbol{3461}`. <br>
Ansonsten soll aber "Times" die Hauptschrift sein.
Hinweis: Da bei meinem TeXLive kein [sinhala Paket][1] dabei ist, habe ich den dortigen Ordner runtergeladen und folgendes Testbeispiel darin ausgeführt.
Ich hole mir also `times.ttf` mit Hilfe des `fontspec`-Paketes und verwende für Sinhala weiterhin das `sinhala`-Paket. <br>
Kann natürlich sein, dass ich etwas übersehe, aber: <br> Das scheint zu funktionieren; wenngleich der Lauf dann zwingend `LuaLateX` (nicht `pdflatex`) ist.
[![alt text][2]][2]
% arara: lualatex
\documentclass[12pt]{article}
\usepackage{fontspec}
\setmainfont[Extension=.ttf, %Language=German,
BoldFont=timesbd, ItalicFont=timesi]{times} % ja...
\usepackage{sinhala}
\usepackage{mathtools}
% \usepackage{times}
\usepackage{mwe} % Dummy Text
\begin{document}
\section{Normaler Text (Times)}
\lipsum[66]
\section{Singhalesischer Text}
{\SHa\char213a}{\SHa\-\char5\char253a\char0} \textbf{{\SHa\char189a}{\SHb\-\char69}{\SHb\-\char69a}}.
\end{document}
[1]: https://ctan.org/tex-archive/language/sinhala?lang=de
[2]: https://texwelt.de/upfiles/5555555_3.png