As @Jon Fritz points out the display of the title attribute is intrinsically linked to the browser, and we cannot act (for the moment) on its aspect.
unfortunately, the CSS tricks we would have at our disposal, can't be applied on single tags (like IMG, A, INPUT, etc...)... so we would have to either encapsulate them in a container tag, or use a javascript.
what ever the solution is, it also implies to disable the real TITLE attribute by setting it to an empty value (this will hide it from the browser)
to demonstrate the trick, and so avoiding to touch your HTML, here is an approcah by nesting the IMG in a SPAN tag, and using a dummy CSS solution
<span class="csstooltip" title="" data-title="The text to be displayed" ><img src="https://via.placeholder.com/300x120" alt=""/></span>
so the CSS, should be as basic as
<style>
.csstooltip:hover:after {
position: absolute;
top: 0;
left: 0;
content: attr(data-title);
font-size: 25px;
}
.csstooltip {
position: relative;
display: inline-block;
}
</style>
So now back to your own code, the HTML and IMG tag are like
<img title="The text to be displayed" src="https://via.placeholder.com/300x120" alt=""/>
As I don't know how your full page looks like, let me please, add a simple class to it to define the approriate target
<img class="jstooltip" title="The text to be displayed" src="https://via.placeholder.com/300x120" alt=""/>
so now if we still use the same CSS code as above, the script could be
<script>
Array.from( document.getElementsByClassName('jstooltip')).forEach(function(img) {
let text = img.getAttribute('title')
img.setAttribute('title', '')
let tt = document.createElement('span');
tt.setAttribute('data-title', text)
tt.className = 'csstooltip'
img.parentNode.insertBefore(tt, img);
tt.appendChild(img);
});
</script>