Actually - no - I just realized there is a difference in the screenshots.
In the one you are saying is aligned incorrectly, the fields above the two that look incorrect, are actually in a table, not stand-alone fields. So we're kind of comparing apples to oranges here - with both rows of fields in one form being all stand-alone fields with the TwoPerRow class, but the other form having one row that is a table and a second row that is stand-alone fields with the TwoPerRow class.
Based on that, I wonder if the fields that have the TwoPerRow are not actually formatted differently, but maybe the First Name and Last Name fields that are in the table look different because they are in a table and therefore utilize entirely different formatting...
Take a closer look at that table with the First Name and Last Name fields - both using the Browser Inspect function and on the Layout Page (because a table can set it's field width percents on the Layout Page).