Looks like it's documented correctly after all, I just made wrong assumptions: Index templates | Elasticsearch Guide [8.11] | Elastic
The key is in the last note:
Setting
dynamictofalsedoesn’t alter the contents of the_sourcefield at all. The_sourcewill still contain the whole JSON document that you indexed. However, any unknown fields will not be added to the mapping and will not be searchable.
I'm still not too sure about how Kibana handles this, since I did see those fields pop-up where I did not expect them to. Will look into that and report back (in case anyone stumbles on the same question).