I see what is confusing you, so this line of code:
public IDbConnection CreateDatabaseConnection() => new SqlConnection(_connectionString);
It is just a method using lamba expresion and it is equivalent to:
public IDbConnection CreateDatabaseConnection()
{
return new SqlConnection(_connectionString);
}
It is returning a Class ( SqlConnection) which should be implementing IDbConnection Interface, that's it.
To answer your question if it is called:
wrapping an interface in a class?
Nop, that is just normal interface-class behavior from always. I mean you can use Interface as a "Type" instead of the class "Type" to make your method more "flexible", and It could help you if you create new implementations of the same interface or while you test the code.