Isso parece ser um bug no MySql .
Você pode contornar isso com
cast(true as json)
por exemplo.:SELECT json_object(
'name', 'Piotr',
'likesMysql', if(4 MOD 2 = 0, cast(TRUE as json), cast(FALSE as json))
)
cast(true as json)
por exemplo.:SELECT json_object(
'name', 'Piotr',
'likesMysql', if(4 MOD 2 = 0, cast(TRUE as json), cast(FALSE as json))
)