1. I've an email template in Classic with email text body as the merge field, it works as expected in classic, i.e when an user navigates to case, related email list, selects "reply or Reply All" and then selects a template, the template loads with accurate values.
The same steps when repeated in Lightning, i.e - when user navigates to case and hits reply, then selects the same classic template (since the template has email text body in it), additionally lightning adds the original email text body as a default feature, it results in duplicated email text body's! - is this the expected behavior? what's the work around for this one.?
2. For the same above scenario, when user clicks on reply on a case, is there any way to default the template based on the record type of the case? (not the auto response feature- where we can actually do that)
Great questions.
1) There are some differences in email template behavior between Lightning & Classic. As you noted, in Classic, when you select a template (say w/ Email Text Body merge field) then it overwrites the entire Email. In Lightning, Email Templates do not overwrite, they are inserted. Therefore you don't need to rely on the Email Text Body merge field for this use case anymore!
2) As you probably know, you can use set a default template for your email quick action declaratively. If you want to load up a template dynamically based on case record type, then take a look at QuickActionDefaultHandler.
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_interface_QuickAction_QuickActionDefaultsHandler.htm