simple popup templates with no styling; 

Couldn't add i18n translations due to rubygems outage this evening :(.

Sure these popups are 100% Krakow specific, but I guess there is no point to going too general right now. Still, they will help us with further development as they show what's inside the features downloaded from the server.
In my opinion not - as this class do not produce a popup - it only provides template and the real popup is created by the handling functions somewhere inside leaflet code. The only thing I don't like about that commit which might be worth fixing in the future is that I need to pass the template as an argument, in order to have a generic bindPopup method.

The only possible way to go is to have, as you propose, a KrakowPlanLayer that extends the FeatureLeaflet layer and then kind of overloads the bindPopup method of the layer. This, however, is a considerable overkill on the current stage of development. Also, polimorphism is not that straightforward in js (though you can have sth like that in coffeescript), so I was never very keen on extending classes in js.

If you want to separate responsibilities (but then, try to think about separating reasons to change for the ZoningMap class - won't we have like five other classes out of that?), you may indeed move both templates into new class(es).