Let say I find kind of solution which maybe doesn't look nice, however it works.
On OnModelCreating I am going through all keys and modify them:
foreach (var entityType in modelBuilder.Model.GetEntityTypes())
{
var fks = entityType.GetForeignKeys().ToList();
foreach (var f in fks)
{
var n = f.GetConstraintName();
if(n == null)
continue;
if (!n.ToLower().Contains("dbo"))
{
char targetChar = '_';
var positions = n.Select((c, i) => c == targetChar ? i : -1)
.Where(i => i != -1).ToList();
if (positions.Any() && positions.Count > 1)
{
var newName = n.Insert(positions[1]+1, "dbo.");
newName = newName.Insert(positions[0]+1, "dbo.");
f.SetConstraintName(newName);
}
}
}
}