In both case the syntax is consistent with a ‘start with’ logic.
The good news is that you observe the unexpected behaviour in your dev. environment, which will let you dig further and see why/how what you observe does happen. Is that something you could do?
Yes, I also observed that and only to compare how patient search works, I noticed that the SQL Query has (family_name)) like %value%.
So I will dig it further in development environment for personattribute and keep you posted.