Just an update, I was able to fix it, not quite sure how it worked, but it was an issue with the query and not the rules. However I did slightly change my rules. Here is my query itself:
const chatQ = query(
collection(db, 'messages'),
where('participants', 'array-contains', me),
orderBy('timestamp', 'asc')
);
If anyone wants to see more of my code and what I did please let me know but I'm just posting this answer to mark this as done haha thank you!