Step 1In a small bowl, mix together the onion, salt, pepper, olive oil and vinegar. Cover and let sit for at least 1 hour.
Step 2Heat a cast-iron pan or griddle over low heat. Brush one side of each slice of bread with the melted butter. Place two slices of bread, butter-side down, on a cutting board. Spread half of the grated cheese evenly over the bread. Drain the excess liquid from the marinated onions and scatter them evenly over the cheese-topped slices. Distribute the remaining cheese evenly over the onions. Spread the mustard over the unbuttered sides of the remaining 2 slices of buttered bread. Place these, mustard-side down, on top of the slices spread with cheese.
Step 3Using a spatula, place one of the sandwiches into the hot pan and weight with another heavy skillet or a steak weight. (If your pan is big enough, cook both sandwiches; otherwise, cook one at a time.) Cook until golden brown, about 3 to 4 minutes. Flip the sandwich and weight it with the pan or steak weight, and cook until golden brown, another 3 to 4 minutes.
Step 4Remove the sandwich to a cutting board and cut it in half or quarters. Serve immediately.