Caaru:
I'm here for the RP, so I want stuff to make sense in-character.
There are lots of ways for that to happen, including not taking things literally. That's how I watch Star Trek, for instance. Some people put in a lot of effort to make it make sense, but I just ignore the stuff that doesn't, because it's generally just an excuse for an interesting story.
Caaru:
If you're playing, say, a dwarf who's spent all their life underground mining and stuff and has only recently set foot on the surface world, they logically should have no idea what a windmill is when they see one.
Books? Stories? Similar contraptions used in inexplicably windy shafts underground? But it probably doesn't matter. The important thing is that the player is contributing a suggestion to the group for a way to proceed. The focus should be on that, rather than on who said what and why.
Caaru:
If that character approaches a farm and says to another character "Hey, let's go check out that windmill", that doesn't make sense - their player may know what a windmill is, but there's no reason for the character to magically have that knowledge when their player has made a point of saying "My character has spent their whole life underground and everything on the surface world is strange to them".
If their player was foolish enough to make an absolutely statement like that, then no, there'd be no reason. Fortunately, things like that are easily avoided.
Caaru:
Similarly, if we meet, say, a black dragon and I know my character has never met or read about dragons before, I shouldn't then have them yell "Watch out! They breathe acid!" because how would they know that?
Books? Stories? But again it doesn't really matter. The important thing is that the party is being attacked by a dragon, which has more ways to cause problems than just its acid breath. If a GM includes a monster that is made less challenging if a particular fact is known about it, then they're setting themselves up for conflict with their own storytelling abilities and the players. Better to avoid that, I find.
Caaru:
I've been in games where people for some reason post what their characters are thinking or feeling, for example. But I don't see the point
I don't see the point either, but mostly because I find that I'm not particularly entertained by reading about those things.
Caaru:
- no-one can act on it...well, not unless they're telepathic or empathic or something and have ways of picking up on it ;).
Whether or not someone can or should act on it greatly depends.
Caaru:
But when any other players can see it, say instead that they fold their arms and scowl or something. It's...surely basic RP, is it not? And that's why we're all here, after all - it's in the name - "RPG" ;).
It's important to bear in mind that "roleplaying" means different things to different people. To some people it only means talking to NPCs. To others, it means emoting. To still others, it means drama. To me, it means anything the character does that it's even remotely plausible for them to do, so I'm roleplaying even if my character is in combat and not talking.
But my point was that there's a key reason people act on out-of-character information. If that reason doesn't exist, then they have almost no make the game less fun for anyone by acting on that information, and also everyone else has less reason to police such actions.
Even if that reason exists (which it probably will), I'm not going to devote a lot of effort to not sharing things about my character that other characters plausibly wouldn't know, nor calling them on it if they use that information.
It's also worth noting that when players know things the characters do not, there is potential for entertaining irony, or for players to otherwise enhance the game for everyone. "Metagaming" is not inherently bad.