No, there is not a more formal definition of a file system, as the above definition describes fully a "system of managing files". However, there are terms for your various bullet points.
The actual physical bit structure on the disk is named a "block", a "node", or a "physical format" depending on the context. "Blocks" identifies the minimum unit of disk addressing (the actual addressing format has a different name), "Node" identifies the expected interpretation of the bits if the "block" contains file navigation data, and "physical format" identifies the expected bits in relationship to the entire file system design (this term is seldom used).
The kernel code that operates on a file system is typically called a "driver". It reads the blocks, and interprets the bits within according to the overall filesystem structure.
The kernel API that makes it possible for user programs to use a file system is typically the "file system interface", which might or might not expose the details of the filesystem implementation (depending on operating system, a possible filesystem abstraction layer, etc).
The mental model of a file system is the file system's "model" or "design"
The specification is the written documentation which describes the "model" or "design". It often contains details which help clarify if an implementation is conforming to the design. Failure to conform to the design is considered an incorrect implementation of the specification. Specifications may include required data structures, required results from particular api calls, or any other requirements.