Force MATCH to return a certain number of results
Full Text Indexes don-'t work that way.

They find whole Words and combinations of those
Use instead the normal comparison LIKE to find your rows

The ORDER BY and the LIMIT have to be in the (),because mysql interprets them as belonging to the complete query (SELECT UNION SELCT)




SELECT
    *
FROM
    Entries
WHERE
    `Title` LIKE ('foo%')
UNION
(SELECT
    *
FROM
    Entries
WHERE
    ID NOT IN (SELECT ID
               FROM
                 Entries
               WHERE
                `Title` LIKE ('foo%'))
ORDER By Rand()
LIMIT 4)
;



ID | TITLE       
-: | :-----------
 3 | Foo         
 5 | Foobar      
 2 | I am a title
 4 | Bar         
 1 | Carl        
 6 | Title       






SELECT
    *
FROM
    Entries
WHERE
    `Title` LIKE ('foo%')
UNION
(SELECT
    *
FROM
    Entries
WHERE
    ID NOT IN (SELECT ID
               FROM
                 Entries
               WHERE
                `Title` LIKE ('foo%'))
ORDER By Rand()
LIMIT 2)
;



ID | TITLE 
-: | :-----
 3 | Foo   
 5 | Foobar
 4 | Bar   
 1 | Carl  



db&lt;>fiddle here