Why public is not mentioned as a fixed role in system database in SQL Server?
Public is just an odd duck.  

But to apply some retroactive continuity to the documentation you might say that all these built in roles are "fixed" or unchangeable in ways that normal roles are not.  The roles marked as is_fixed_role have fixed permissions and changeable membership.  Public has fixed membership (everyone) and changeable permissions.  

The column in sys.server_principals and sys.database_principals should be documented to clarify this.